[ { "constant": true, "inputs": [], "name": "name", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "dst", "type": "address" }, { "name": "amt", "type": "uint256" } ], "name": "approve", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_TOTAL_WEIGHT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "BPOW_PRECISION", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_WEIGHT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "src", "type": "address" }, { "name": "dst", "type": "address" }, { "name": "amt", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceIn", "type": "uint256" }, { "name": "tokenWeightIn", "type": "uint256" }, { "name": "poolSupply", "type": "uint256" }, { "name": "totalWeight", "type": "uint256" }, { "name": "poolAmountOut", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcSingleInGivenPoolOut", "outputs": [ { "name": "tokenAmountIn", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [ { "name": "dst", "type": "address" }, { "name": "amt", "type": "uint256" } ], "name": "decreaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "whom", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_FEE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceOut", "type": "uint256" }, { "name": "tokenWeightOut", "type": "uint256" }, { "name": "poolSupply", "type": "uint256" }, { "name": "totalWeight", "type": "uint256" }, { "name": "tokenAmountOut", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcPoolInGivenSingleOut", "outputs": [ { "name": "poolAmountIn", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceIn", "type": "uint256" }, { "name": "tokenWeightIn", "type": "uint256" }, { "name": "poolSupply", "type": "uint256" }, { "name": "totalWeight", "type": "uint256" }, { "name": "tokenAmountIn", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcPoolOutGivenSingleIn", "outputs": [ { "name": "poolAmountOut", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_BALANCE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceOut", "type": "uint256" }, { "name": "tokenWeightOut", "type": "uint256" }, { "name": "poolSupply", "type": "uint256" }, { "name": "totalWeight", "type": "uint256" }, { "name": "poolAmountIn", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcSingleOutGivenPoolIn", "outputs": [ { "name": "tokenAmountOut", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "INIT_POOL_SUPPLY", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_OUT_RATIO", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceIn", "type": "uint256" }, { "name": "tokenWeightIn", "type": "uint256" }, { "name": "tokenBalanceOut", "type": "uint256" }, { "name": "tokenWeightOut", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcSpotPrice", "outputs": [ { "name": "spotPrice", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": false, "inputs": [ { "name": "dst", "type": "address" }, { "name": "amt", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_BOUND_TOKENS", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_BOUND_TOKENS", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_BPOW_BASE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceIn", "type": "uint256" }, { "name": "tokenWeightIn", "type": "uint256" }, { "name": "tokenBalanceOut", "type": "uint256" }, { "name": "tokenWeightOut", "type": "uint256" }, { "name": "tokenAmountIn", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcOutGivenIn", "outputs": [ { "name": "tokenAmountOut", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_FEE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_BPOW_BASE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "BONE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "EXIT_FEE", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "dst", "type": "address" }, { "name": "amt", "type": "uint256" } ], "name": "increaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "src", "type": "address" }, { "name": "dst", "type": "address" } ], "name": "allowance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_WEIGHT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_IN_RATIO", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenBalanceIn", "type": "uint256" }, { "name": "tokenWeightIn", "type": "uint256" }, { "name": "tokenBalanceOut", "type": "uint256" }, { "name": "tokenWeightOut", "type": "uint256" }, { "name": "tokenAmountOut", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "calcInGivenOut", "outputs": [ { "name": "tokenAmountIn", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "caller", "type": "address" }, { "indexed": true, "name": "tokenIn", "type": "address" }, { "indexed": true, "name": "tokenOut", "type": "address" }, { "indexed": false, "name": "tokenAmountIn", "type": "uint256" }, { "indexed": false, "name": "tokenAmountOut", "type": "uint256" } ], "name": "LOG_SWAP", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "caller", "type": "address" }, { "indexed": true, "name": "tokenIn", "type": "address" }, { "indexed": false, "name": "tokenAmountIn", "type": "uint256" } ], "name": "LOG_JOIN", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "caller", "type": "address" }, { "indexed": true, "name": "tokenOut", "type": "address" }, { "indexed": false, "name": "tokenAmountOut", "type": "uint256" } ], "name": "LOG_EXIT", "type": "event" }, { "anonymous": true, "inputs": [ { "indexed": true, "name": "sig", "type": "bytes4" }, { "indexed": true, "name": "caller", "type": "address" }, { "indexed": false, "name": "data", "type": "bytes" } ], "name": "LOG_CALL", "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": "owner", "type": "address" }, { "indexed": true, "name": "spender", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "constant": true, "inputs": [], "name": "isInitialized", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "controller", "type": "address" }, { "name": "factory", "type": "address" }, { "name": "swapFee", "type": "uint256" }, { "name": "publicSwap", "type": "bool" }, { "name": "finalized", "type": "bool" } ], "name": "initialize", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "dataTokenAaddress", "type": "address" }, { "name": "dataTokenAmount", "type": "uint256" }, { "name": "dataTokenWeight", "type": "uint256" }, { "name": "baseTokenAddress", "type": "address" }, { "name": "baseTokenAmount", "type": "uint256" }, { "name": "baseTokenWeight", "type": "uint256" }, { "name": "swapFee", "type": "uint256" } ], "name": "setup", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "isPublicSwap", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isFinalized", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "t", "type": "address" } ], "name": "isBound", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getNumTokens", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getCurrentTokens", "outputs": [ { "name": "tokens", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getFinalTokens", "outputs": [ { "name": "tokens", "type": "address[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "token", "type": "address" } ], "name": "getDenormalizedWeight", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getTotalDenormalizedWeight", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "token", "type": "address" } ], "name": "getNormalizedWeight", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "token", "type": "address" } ], "name": "getBalance", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getSwapFee", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "getController", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "swapFee", "type": "uint256" } ], "name": "setSwapFee", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "manager", "type": "address" } ], "name": "setController", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "public_", "type": "bool" } ], "name": "setPublicSwap", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "finalize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "token", "type": "address" }, { "name": "balance", "type": "uint256" }, { "name": "denorm", "type": "uint256" } ], "name": "bind", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "token", "type": "address" }, { "name": "balance", "type": "uint256" }, { "name": "denorm", "type": "uint256" } ], "name": "rebind", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "token", "type": "address" } ], "name": "unbind", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "token", "type": "address" } ], "name": "gulp", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "tokenOut", "type": "address" } ], "name": "getSpotPrice", "outputs": [ { "name": "spotPrice", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "tokenOut", "type": "address" } ], "name": "getSpotPriceSansFee", "outputs": [ { "name": "spotPrice", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "poolAmountOut", "type": "uint256" }, { "name": "maxAmountsIn", "type": "uint256[]" } ], "name": "joinPool", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "poolAmountIn", "type": "uint256" }, { "name": "minAmountsOut", "type": "uint256[]" } ], "name": "exitPool", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "tokenAmountIn", "type": "uint256" }, { "name": "tokenOut", "type": "address" }, { "name": "minAmountOut", "type": "uint256" }, { "name": "maxPrice", "type": "uint256" } ], "name": "swapExactAmountIn", "outputs": [ { "name": "tokenAmountOut", "type": "uint256" }, { "name": "spotPriceAfter", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "maxAmountIn", "type": "uint256" }, { "name": "tokenOut", "type": "address" }, { "name": "tokenAmountOut", "type": "uint256" }, { "name": "maxPrice", "type": "uint256" } ], "name": "swapExactAmountOut", "outputs": [ { "name": "tokenAmountIn", "type": "uint256" }, { "name": "spotPriceAfter", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "tokenAmountIn", "type": "uint256" }, { "name": "minPoolAmountOut", "type": "uint256" } ], "name": "joinswapExternAmountIn", "outputs": [ { "name": "poolAmountOut", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenIn", "type": "address" }, { "name": "poolAmountOut", "type": "uint256" }, { "name": "maxAmountIn", "type": "uint256" } ], "name": "joinswapPoolAmountOut", "outputs": [ { "name": "tokenAmountIn", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenOut", "type": "address" }, { "name": "poolAmountIn", "type": "uint256" }, { "name": "minAmountOut", "type": "uint256" } ], "name": "exitswapPoolAmountIn", "outputs": [ { "name": "tokenAmountOut", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "tokenOut", "type": "address" }, { "name": "tokenAmountOut", "type": "uint256" }, { "name": "maxPoolAmountIn", "type": "uint256" } ], "name": "exitswapExternAmountOut", "outputs": [ { "name": "poolAmountIn", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ]