-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Compile fail due to "bad buffer size" #5778
Comments
closing this. |
That's not really a fix, that's a workaround! Truffle should work with any sufficiently recent version of Vyper; you shouldn't have to downgrade. There's an issue here and we should fix it. I'm going to reopen this. Do you have repro steps for this? Can you at least tell us what version of Vyper this happened on? Thank you! |
@haltman-at, it looks like following the steps of this repo causes the issue. Note, you'll have to change the venv step for python3. hrm, I wonder if this requires python2...: compile-vyper:vyper-json rawCompilerOutput: {
compile-vyper:vyper-json compiler: 'vyper-0.2.16',
compile-vyper:vyper-json errors: [
compile-vyper:vyper-json {
compile-vyper:vyper-json component: 'compiler',
compile-vyper:vyper-json message: 'bad buffer size',
compile-vyper:vyper-json severity: 'error',
compile-vyper:vyper-json sourceLocation: [Object],
compile-vyper:vyper-json type: 'AssertionError'
compile-vyper:vyper-json }
compile-vyper:vyper-json ]
compile-vyper:vyper-json } +0ms
bad buffer size
Compilation failed. See above.
Truffle (unbundled) (core: 5.6.9)
Node v18.12.1 click for full debug log(venv) ╭─amal@faifai ~/dev/scratch/2022/12/10/defi-by-example/defi ‹node-18.12.1› ‹truffle-core› (main*)
╰─$ DEBUG=* truffle compile 1 ↵
Compiling your contracts...
===========================
compile-vyper paths: [
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol'
compile-vyper ] +0ms
compile-vyper vyperFilesStrict: [
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
compile-vyper ] +3ms
compile-vyper:profiler resolver.sources.length: 7 +0ms
compile-vyper:profiler invoking profiler +0ms
profiler paths: [
profiler '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler ] +0ms
compile paths: [
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy',
compile '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol'
compile ] +0ms
follow-redirects options {
maxRedirects: 50,
maxBodyLength: 10485760,
protocol: 'https:',
path: '/solc/emscripten-wasm32/list.json',
method: 'GET',
headers: {
Accept: 'application/json, text/plain, */*',
'User-Agent': 'axios/0.27.2'
},
agent: undefined,
agents: { http: undefined, https: undefined },
auth: undefined,
hostname: 'relay.trufflesuite.com',
port: null,
nativeProtocols: {
'http:': {
_connectionListener: [Function: connectionListener],
METHODS: [Array],
STATUS_CODES: [Object],
Agent: [Function],
ClientRequest: [Function: ClientRequest],
IncomingMessage: [Function: IncomingMessage],
OutgoingMessage: [Function: OutgoingMessage],
Server: [Function: Server],
ServerResponse: [Function: ServerResponse],
createServer: [Function: createServer],
validateHeaderName: [Function: __node_internal_],
validateHeaderValue: [Function: __node_internal_],
get: [Function: get],
request: [Function: request],
setMaxIdleHTTPParsers: [Function: setMaxIdleHTTPParsers],
maxHeaderSize: [Getter],
globalAgent: [Getter/Setter]
},
'https:': {
Agent: [Function: Agent],
globalAgent: [Agent],
Server: [Function: Server],
createServer: [Function: createServer],
get: [Function: get],
request: [Function: request]
}
}
} +0ms
profiler invoking requiredSources +27ms
profiler:requiredSources allPaths: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol'
profiler:requiredSources ] +0ms
profiler:requiredSources updatedPaths: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:resolveAllSources resolveAllSources called +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy +0ms
resolver:sources:vyper importedFrom: +1ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +1ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper importModule: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
resolver:sources:vyper importedFrom: +0ms
resolver:sources:vyper found directly +1ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
resolver:sources:vyper found directly +0ms
profiler:resolveAllSources imports: [] +11ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:getImports filePath: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy +0ms
compile-vyper:parser basePath: vyper.interfaces ; endPath: ERC20 +0ms
profiler:getImports imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:getImports filePath: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy +0ms
compile-vyper:parser basePath: vyper.interfaces ; endPath: ERC20 +0ms
profiler:getImports imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:getImports filePath: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy +0ms
compile-vyper:parser basePath: vyper.interfaces ; endPath: ERC20 +0ms
profiler:getImports imports: [] +1ms
profiler:resolveAllSources imports: [] +1ms
profiler:resolveAllSources imports: [] +0ms
profiler:getImports filePath: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy +0ms
compile-vyper:parser basePath: vyper.interfaces ; endPath: ERC20 +1ms
profiler:getImports imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:getImports filePath: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy +0ms
profiler:getImports imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:resolveAllSources imports: [] +0ms
profiler:requiredSources entering main loop +12ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +1ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestAaveFlashLoan.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestChainlink.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundErc20.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundEth.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLiquidate.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCompoundLong.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestDyDxSoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapFlashSwap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidity.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapOptimal.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestWethFlashMint.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/Uniswap.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/WETH10.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/FlashLoanReceiverBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/IFlashLoanReceiver.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPool.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/aave/ILendingPoolAddressProvider.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/compound.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/DepositY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/curve/StableSwapY.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/DydxFlashloanBase.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ICallee.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources currentFile: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/interfaces/dydx/ISoloMargin.sol +0ms
profiler:requiredSources imports.length: 0 +0ms
profiler:requiredSources compilationTargets: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources filesToProcess: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources file: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy +0ms
profiler:requiredSources filesToProcess: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources file: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy +0ms
profiler:requiredSources filesToProcess: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources file: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy +0ms
profiler:requiredSources filesToProcess: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources file: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy +0ms
profiler:requiredSources filesToProcess: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
profiler:requiredSources file: /Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy +0ms
profiler:requiredSources required: [
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
profiler:requiredSources '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
profiler:requiredSources ] +0ms
compile-vyper allSources: {
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy': '# @version ^0.2\n' +
compile-vyper 'from vyper.interfaces import ERC20\n' +
compile-vyper '\n' +
compile-vyper 'interface StableSwap:\n' +
compile-vyper ' def exchange(i: int128, j: int128, dx: uint256, min_dy: uint256): nonpayable\n' +
compile-vyper '\n' +
compile-vyper '# StableSwap3Pool\n' +
compile-vyper 'STABLE_SWAP: constant(address) = 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7\n' +
compile-vyper '\n' +
compile-vyper 'DAI: constant(address) = 0x6B175474E89094C44Da98b954EedeAC495271d0F\n' +
compile-vyper 'USDC: constant(address) = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\n' +
compile-vyper 'USDT: constant(address) = 0xdAC17F958D2ee523a2206206994597C13D831ec7\n' +
compile-vyper '\n' +
compile-vyper 'TOKENS: constant(address[3]) = [\n' +
compile-vyper ' DAI,\n' +
compile-vyper ' USDC,\n' +
compile-vyper ' USDT\n' +
compile-vyper ']\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def swap(i: uint256, j: uint256):\n' +
compile-vyper ' tokens: address[3] = TOKENS\n' +
compile-vyper ' bal: uint256 = ERC20(tokens[i]).balanceOf(self)\n' +
compile-vyper '\n' +
compile-vyper ' ERC20(tokens[i]).approve(STABLE_SWAP, bal)\n' +
compile-vyper '\n' +
compile-vyper ' StableSwap(STABLE_SWAP).exchange(\n' +
compile-vyper ' convert(i, int128), convert(j, int128), bal, 1\n' +
compile-vyper ' )',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy': '# @version ^0.2\n' +
compile-vyper 'from vyper.interfaces import ERC20\n' +
compile-vyper '\n' +
compile-vyper 'interface StableSwap:\n' +
compile-vyper ' def add_liquidity(amounts: uint256[3], min_lp: uint256): nonpayable\n' +
compile-vyper ' def remove_liquidity(lp: uint256, min_amounts: uint256[3]): nonpayable\n' +
compile-vyper ' def remove_liquidity_one_coin(lp: uint256, i: int128, min_amount: uint256): nonpayable\n' +
compile-vyper ' def calc_withdraw_one_coin(lp: uint256, i: int128) -> uint256: view\n' +
compile-vyper ' def get_virtual_price() -> uint256: view\n' +
compile-vyper '\n' +
compile-vyper 'interface CurveToken:\n' +
compile-vyper ' def balanceOf(account: address) -> uint256: view\n' +
compile-vyper '\n' +
compile-vyper '# StableSwap3Pool\n' +
compile-vyper 'SWAP: constant(address) = 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7\n' +
compile-vyper 'LP: constant(address) = 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490\n' +
compile-vyper '\n' +
compile-vyper 'DAI: constant(address) = 0x6B175474E89094C44Da98b954EedeAC495271d0F\n' +
compile-vyper 'USDC: constant(address) = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\n' +
compile-vyper 'USDT: constant(address) = 0xdAC17F958D2ee523a2206206994597C13D831ec7\n' +
compile-vyper '\n' +
compile-vyper 'TOKENS: constant(address[3]) = [\n' +
compile-vyper ' DAI,\n' +
compile-vyper ' USDC,\n' +
compile-vyper ' USDT\n' +
compile-vyper ']\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@internal\n' +
compile-vyper 'def _safeApprove(token: address, spender: address, amount: uint256):\n' +
compile-vyper ' res: Bytes[32] = raw_call(\n' +
compile-vyper ' token,\n' +
compile-vyper ' concat(\n' +
compile-vyper ' method_id("approve(address,uint256)"),\n' +
compile-vyper ' convert(spender, bytes32),\n' +
compile-vyper ' convert(amount, bytes32),\n' +
compile-vyper ' ),\n' +
compile-vyper ' max_outsize=32,\n' +
compile-vyper ' )\n' +
compile-vyper ' if len(res) > 0:\n' +
compile-vyper ' assert convert(res, bool)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def addLiquidity():\n' +
compile-vyper ' tokens: address[3] = TOKENS\n' +
compile-vyper ' balances: uint256[3] = [0, 0, 0]\n' +
compile-vyper ' for i in range(3):\n' +
compile-vyper ' balances[i] = ERC20(tokens[i]).balanceOf(self)\n' +
compile-vyper ' if balances[i] > 0:\n' +
compile-vyper ' # USDT does not return True\n' +
compile-vyper ' # ERC20(tokens[i]).approve(SWAP, balances[i])\n' +
compile-vyper ' self._safeApprove(tokens[i], SWAP, balances[i])\n' +
compile-vyper ' StableSwap(SWAP).add_liquidity(balances, 1)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper '@view\n' +
compile-vyper 'def getShares() -> uint256:\n' +
compile-vyper ' return CurveToken(LP).balanceOf(self)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def removeLiquidity():\n' +
compile-vyper ' shares: uint256 = CurveToken(LP).balanceOf(self)\n' +
compile-vyper ' minAmounts: uint256[3] = [0, 0, 0]\n' +
compile-vyper ' StableSwap(SWAP).remove_liquidity(shares, minAmounts)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper '@view\n' +
compile-vyper 'def calcWithdrawOneCoin(i: int128) -> (uint256, uint256):\n' +
compile-vyper ' shares: uint256 = CurveToken(LP).balanceOf(self)\n' +
compile-vyper ' w: uint256 = StableSwap(SWAP).calc_withdraw_one_coin(shares, i)\n' +
compile-vyper ' vp: uint256 = StableSwap(SWAP).get_virtual_price()\n' +
compile-vyper ' return (w, vp * shares / 10 ** 18)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def removeLiquidityOneCoin(i: int128):\n' +
compile-vyper ' shares: uint256 = CurveToken(LP).balanceOf(self)\n' +
compile-vyper ' minAmount: uint256 = 1\n' +
compile-vyper ' StableSwap(SWAP).remove_liquidity_one_coin(shares, i, 1)\n' +
compile-vyper '\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper '@view\n' +
compile-vyper 'def getBalances() -> uint256[3]:\n' +
compile-vyper ' tokens: address[3] = TOKENS\n' +
compile-vyper ' balances: uint256[3] = [0, 0, 0]\n' +
compile-vyper ' for i in range(3):\n' +
compile-vyper ' balances[i] = ERC20(tokens[i]).balanceOf(self)\n' +
compile-vyper ' return balances',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy': '# @version ^0.2\n' +
compile-vyper '\n' +
compile-vyper 'from vyper.interfaces import ERC20\n' +
compile-vyper '\n' +
compile-vyper 'interface UniswapV2Router:\n' +
compile-vyper ' def addLiquidity(\n' +
compile-vyper ' tokenA: address,\n' +
compile-vyper ' tokenB: address,\n' +
compile-vyper ' amountA: uint256,\n' +
compile-vyper ' amountB: uint256,\n' +
compile-vyper ' amountAMin: uint256,\n' +
compile-vyper ' amountBMin: uint256,\n' +
compile-vyper ' to: address,\n' +
compile-vyper ' deadline: uint256\n' +
compile-vyper ' ) -> (uint256, uint256, uint256): nonpayable\n' +
compile-vyper '\n' +
compile-vyper ' def removeLiquidity(\n' +
compile-vyper ' tokenA: address,\n' +
compile-vyper ' tokenB: address,\n' +
compile-vyper ' liquidity: uint256,\n' +
compile-vyper ' amountAMin: uint256,\n' +
compile-vyper ' amountBMin: uint256,\n' +
compile-vyper ' to: address,\n' +
compile-vyper ' deadline: uint256\n' +
compile-vyper ' ) -> (uint256, uint256): nonpayable\n' +
compile-vyper '\n' +
compile-vyper 'interface UniswapV2Factory:\n' +
compile-vyper ' def getPair(tokenA: address, tokenB: address) -> address: view\n' +
compile-vyper '\n' +
compile-vyper 'FACTORY: constant(address) = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f\n' +
compile-vyper 'ROUTER: constant(address) = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\n' +
compile-vyper 'WETH: constant(address) = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n' +
compile-vyper '\n' +
compile-vyper 'event Log:\n' +
compile-vyper ' message: String[100]\n' +
compile-vyper ' val: uint256\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def addLiquidity(_tokenA: address, _tokenB: address, _amountA: uint256, _amountB: uint256):\n' +
compile-vyper ' ERC20(_tokenA).transferFrom(msg.sender, self, _amountA)\n' +
compile-vyper ' ERC20(_tokenB).transferFrom(msg.sender, self, _amountB)\n' +
compile-vyper '\n' +
compile-vyper ' ERC20(_tokenA).approve(ROUTER, _amountA)\n' +
compile-vyper ' ERC20(_tokenB).approve(ROUTER, _amountB)\n' +
compile-vyper '\n' +
compile-vyper ' amountA: uint256 = 0\n' +
compile-vyper ' amountB: uint256 = 0\n' +
compile-vyper ' liquidity: uint256 = 0\n' +
compile-vyper ' (amountA, amountB, liquidity) = UniswapV2Router(ROUTER).addLiquidity(\n' +
compile-vyper ' _tokenA,\n' +
compile-vyper ' _tokenB,\n' +
compile-vyper ' _amountA,\n' +
compile-vyper ' _amountB,\n' +
compile-vyper ' 1,\n' +
compile-vyper ' 1,\n' +
compile-vyper ' self,\n' +
compile-vyper ' block.timestamp\n' +
compile-vyper ' )\n' +
compile-vyper '\n' +
compile-vyper ' log Log("amountA", amountA)\n' +
compile-vyper ' log Log("amountB", amountB)\n' +
compile-vyper ' log Log("liquidity", liquidity)\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def removeLiquidity(_tokenA: address, _tokenB: address):\n' +
compile-vyper ' pair: address = UniswapV2Factory(FACTORY).getPair(_tokenA, _tokenB)\n' +
compile-vyper '\n' +
compile-vyper ' liquidity: uint256 = ERC20(pair).balanceOf(self)\n' +
compile-vyper ' ERC20(pair).approve(ROUTER, liquidity)\n' +
compile-vyper '\n' +
compile-vyper ' amountA: uint256 = 0\n' +
compile-vyper ' amountB: uint256 = 0\n' +
compile-vyper ' (amountA, amountB) = UniswapV2Router(ROUTER).removeLiquidity(\n' +
compile-vyper ' _tokenA,\n' +
compile-vyper ' _tokenB,\n' +
compile-vyper ' liquidity,\n' +
compile-vyper ' 1,\n' +
compile-vyper ' 1,\n' +
compile-vyper ' self,\n' +
compile-vyper ' block.timestamp\n' +
compile-vyper ' )\n' +
compile-vyper '\n' +
compile-vyper ' log Log("amountA", amountA)\n' +
compile-vyper ' log Log("amountB", amountB)\n',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy': '# @version ^0.2\n' +
compile-vyper 'from vyper.interfaces import ERC20\n' +
compile-vyper '\n' +
compile-vyper '# interface UniswapV2Router:\n' +
compile-vyper '# def swapExactTokensForTokens(amountIn: uint256, amountOutMin: uint256, path: address[3], to: address, deadline: uint256): nonpayable\n' +
compile-vyper '\n' +
compile-vyper 'UNISWAP_V2_ROUTER: constant(address) = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\n' +
compile-vyper 'WETH: constant(address) = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def swap(tokenIn: address, tokenOut: address, amountIn: uint256):\n' +
compile-vyper ' ERC20(tokenIn).transferFrom(msg.sender, self, amountIn)\n' +
compile-vyper ' ERC20(tokenIn).approve(UNISWAP_V2_ROUTER, amountIn)\n' +
compile-vyper '\n' +
compile-vyper ' # path: address[3] = [ZERO_ADDRESS, ZERO_ADDRESS, ZERO_ADDRESS]\n' +
compile-vyper ' # if tokenIn == WETH or tokenOut == WETH:\n' +
compile-vyper ' # path[0] = tokenIn\n' +
compile-vyper ' # path[1] = tokenOut\n' +
compile-vyper ' # else:\n' +
compile-vyper ' # path[0] = tokenIn\n' +
compile-vyper ' # path[1] = WETH\n' +
compile-vyper ' # path[2] = tokenOut\n' +
compile-vyper '\n' +
compile-vyper ' # UniswapV2Router(UNISWAP_V2_ROUTER).swapExactTokensForTokens(amount, 0, path, self, block.timestamp + 1800)\n' +
compile-vyper '\n' +
compile-vyper ' res: Bytes[128] = raw_call(\n' +
compile-vyper ' UNISWAP_V2_ROUTER,\n' +
compile-vyper ' concat(\n' +
compile-vyper ' method_id("swapExactTokensForTokens(uint256,uint256,address[],address,uint256)"),\n' +
compile-vyper ' convert(amountIn, bytes32), # amount in\n' +
compile-vyper ' convert(0, bytes32), # amount out min\n' +
compile-vyper ' convert(160, bytes32), # path[] offset (5 * 32, 5 = number of func args)\n' +
compile-vyper ' convert(self, bytes32), # to\n' +
compile-vyper ' convert(block.timestamp, bytes32), # deadline\n' +
compile-vyper ' convert(3, bytes32), # path[] length\n' +
compile-vyper ' convert(tokenIn, bytes32),\n' +
compile-vyper ' convert(WETH, bytes32),\n' +
compile-vyper ' convert(tokenOut, bytes32)\n' +
compile-vyper ' ),\n' +
compile-vyper ' max_outsize=128\n' +
compile-vyper ' )',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy': ' # @version ^0.2\n' +
compile-vyper '\n' +
compile-vyper 'stored_data: uint256\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper 'def setData(new_value: uint256):\n' +
compile-vyper ' self.stored_data = new_value\n' +
compile-vyper '\n' +
compile-vyper '@external\n' +
compile-vyper '@view\n' +
compile-vyper 'def get() -> uint256:\n' +
compile-vyper ' return self.stored_data'
compile-vyper } +42ms
compile-vyper compilationTargets: [
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveExchange.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestCurveLiquidity.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapLiquidityVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestUniswapVy.vy',
compile-vyper '/Users/amal/dev/scratch/2022/12/10/defi-by-example/defi/contracts/TestVyper.vy'
compile-vyper ] +2ms
> Compiling ./contracts/TestCurveExchange.vy
> Compiling ./contracts/TestCurveLiquidity.vy
> Compiling ./contracts/TestUniswapLiquidityVy.vy
> Compiling ./contracts/TestUniswapVy.vy
> Compiling ./contracts/TestVyper.vy
follow-redirects redirecting to https://binaries.soliditylang.org/emscripten-wasm32/list.json +97ms
follow-redirects options { from solc-bin. Attempt #1
maxRedirects: 50,
maxBodyLength: 10485760,
protocol: 'https:',
path: '/solc/emscripten-wasm32/solc-emscripten-wasm32-v0.8.4+commit.c7e474f2.js',
method: 'GET',
headers: {
Accept: 'application/json, text/plain, */*',
'User-Agent': 'axios/0.27.2'
},
agent: undefined,
agents: { http: undefined, https: undefined },
auth: undefined,
hostname: 'relay.trufflesuite.com',
port: null,
nativeProtocols: {
'http:': {
_connectionListener: [Function: connectionListener],
METHODS: [Array],
STATUS_CODES: [Object],
Agent: [Function],
ClientRequest: [Function: ClientRequest],
IncomingMessage: [Function: IncomingMessage],
OutgoingMessage: [Function: OutgoingMessage],
Server: [Function: Server],
ServerResponse: [Function: ServerResponse],
createServer: [Function: createServer],
validateHeaderName: [Function: __node_internal_],
validateHeaderValue: [Function: __node_internal_],
get: [Function: get],
request: [Function: request],
setMaxIdleHTTPParsers: [Function: setMaxIdleHTTPParsers],
maxHeaderSize: [Getter],
globalAgent: [Getter/Setter]
},
'https:': {
Agent: [Function: Agent],
globalAgent: [Agent],
Server: [Function: Server],
createServer: [Function: createServer],
get: [Function: get],
request: [Function: request]
}
}
} +48ms
compile-vyper:vyper-json rawCompilerOutput: {
compile-vyper:vyper-json compiler: 'vyper-0.2.16',
compile-vyper:vyper-json errors: [
compile-vyper:vyper-json {
compile-vyper:vyper-json component: 'compiler',
compile-vyper:vyper-json message: 'bad buffer size',
compile-vyper:vyper-json severity: 'error',
compile-vyper:vyper-json sourceLocation: [Object],
compile-vyper:vyper-json type: 'AssertionError'
compile-vyper:vyper-json }
compile-vyper:vyper-json ]
compile-vyper:vyper-json } +0ms
bad buffer size
Compilation failed. See above.
Truffle (unbundled) (core: 5.6.9)
Node v18.12.1
|
I don't really understand how to follow these steps? Could you elaborate? |
Well, it seems I can't reproduce this! I tried the same steps (copying shell history). The difference between the two reproductions is the vyper version. It fails with the buffer error when using vyper I did not specify a vyper version and can't explain why the same steps produce different versions :/. The vyper version is the only difference between the two reproductions. installation steps
|
Well, it's not hard to specify the vyper version when installing it; you just type Also thanks, these steps seem much more followable than what's in the repo. (I'm guessing I don't actually have to bother with a virtual environment? I haven't thus far for Vyper, even though everyone says to...) |
OK, I've now successfully reproduced this at least. The error truly does seem to be specific to Vyper 0.2.16. |
OK, I have no idea what's going on with this. I thought maybe it was due to the We may just have to treat this as a Vyper bug after all and tell people to use a different Vyper version if they encounter this. 🤷 |
We think this has to be treated as a Vyper issue so we're going to close it. |
Got this error with Node v18 and Truffle 5.6.9 on macbook air M1. what's the issue here and how to fix it? thanks
The text was updated successfully, but these errors were encountered: