[
{
constant: false,
inputs: [{ name: 'alerter', type: 'address' }],
name: 'removeAlerter',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'maxSellRateInPrecision',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'reserve', type: 'address' }],
name: 'setReserveAddress',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'val', type: 'int256' }],
name: 'abs',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'qtyInwei', type: 'uint256' }],
name: 'fromWeiToFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'r', type: 'uint256' },
{ name: 'pMIn', type: 'uint256' },
{ name: 'e', type: 'uint256' },
{ name: 'precision', type: 'uint256' },
],
name: 'pE',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'pendingAdmin',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'p', type: 'uint256' },
{ name: 'q', type: 'uint256' },
{ name: 'numPrecisionBits', type: 'uint256' },
],
name: 'ln',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'maxEthCapSellInFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'getOperators',
outputs: [{ name: '', type: 'address[]' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'BIG_NUMBER',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [
{ name: 'token', type: 'address' },
{ name: 'amount', type: 'uint256' },
{ name: 'sendTo', type: 'address' },
],
name: 'withdrawToken',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'collectedFeesInTwei',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'newAlerter', type: 'address' }],
name: 'addAlerter',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'rInFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'maxEthCapBuyInFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'formulaPrecision',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [
{ name: '_rInFp', type: 'uint256' },
{ name: '_pMinInFp', type: 'uint256' },
{ name: '_numFpBits', type: 'uint256' },
{ name: '_maxCapBuyInWei', type: 'uint256' },
{ name: '_maxCapSellInWei', type: 'uint256' },
{ name: '_feeInBps', type: 'uint256' },
{ name: '_maxTokenToEthRateInPrecision', type: 'uint256' },
{ name: '_minTokenToEthRateInPrecision', type: 'uint256' },
],
name: 'setLiquidityParams',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'x', type: 'uint256' },
{ name: 'y', type: 'uint256' },
],
name: 'checkMultOverflow',
outputs: [{ name: '', type: 'bool' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'eInFp', type: 'uint256' },
{ name: 'deltaEInFp', type: 'uint256' },
],
name: 'buyRate',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'eInFp', type: 'uint256' }],
name: 'sellRateZeroQuantity',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'val', type: 'uint256' }],
name: 'valueAfterReducingFee',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'numFpBits',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'newAdmin', type: 'address' }],
name: 'transferAdmin',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: false,
inputs: [],
name: 'claimAdmin',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'newAdmin', type: 'address' }],
name: 'transferAdminQuickly',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'getAlerters',
outputs: [{ name: '', type: 'address[]' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'r', type: 'uint256' },
{ name: 'pMIn', type: 'uint256' },
{ name: 'e', type: 'uint256' },
{ name: 'deltaE', type: 'uint256' },
{ name: 'precision', type: 'uint256' },
],
name: 'deltaTFunc',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'x', type: 'uint256' },
{ name: 'numPrecisionBits', type: 'uint256' },
],
name: 'log2ForSmallNumber',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'p', type: 'uint256' },
{ name: 'q', type: 'uint256' },
{ name: 'precision', type: 'uint256' },
],
name: 'compactFraction',
outputs: [
{ name: '', type: 'uint256' },
{ name: '', type: 'uint256' },
],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'conversionToken', type: 'address' },
{ name: 'buy', type: 'bool' },
{ name: 'qtyInSrcWei', type: 'uint256' },
{ name: 'eInFp', type: 'uint256' },
],
name: 'getRateWithE',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'p', type: 'uint256' },
{ name: 'q', type: 'uint256' },
],
name: 'countLeadingZeros',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'eInFp', type: 'uint256' },
{ name: 'sellInputTokenQtyInFp', type: 'uint256' },
{ name: 'deltaTInFp', type: 'uint256' },
],
name: 'sellRate',
outputs: [
{ name: 'rateInPrecision', type: 'uint256' },
{ name: 'deltaEInFp', type: 'uint256' },
],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'qtyInTwei', type: 'uint256' }],
name: 'fromTweiToFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'newOperator', type: 'address' }],
name: 'addOperator',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'r', type: 'uint256' },
{ name: 'pMIn', type: 'uint256' },
{ name: 'e', type: 'uint256' },
{ name: 'deltaT', type: 'uint256' },
{ name: 'precision', type: 'uint256' },
{ name: 'numPrecisionBits', type: 'uint256' },
],
name: 'deltaEFunc',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'feeInBps',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'p', type: 'uint256' },
{ name: 'q', type: 'uint256' },
{ name: 'numPrecisionBits', type: 'uint256' },
],
name: 'logBase2',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'rateInPrecision', type: 'uint256' },
{ name: 'buy', type: 'bool' },
],
name: 'rateAfterValidation',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'reserveContract',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'val', type: 'uint256' }],
name: 'calcCollectedFee',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [{ name: 'operator', type: 'address' }],
name: 'removeOperator',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'p', type: 'uint256' },
{ name: 'q', type: 'uint256' },
{ name: 'precision', type: 'uint256' },
],
name: 'exp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'pure',
type: 'function',
},
{
constant: false,
inputs: [],
name: 'resetCollectedFees',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [
{ name: 'conversionToken', type: 'address' },
{ name: 'currentBlockNumber', type: 'uint256' },
{ name: 'buy', type: 'bool' },
{ name: 'qtyInSrcWei', type: 'uint256' },
],
name: 'getRate',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: false,
inputs: [
{ name: 'conversionToken', type: 'address' },
{ name: 'buyAmountInTwei', type: 'int256' },
{ name: 'rateUpdateBlock', type: 'uint256' },
{ name: 'currentBlock', type: 'uint256' },
],
name: 'recordImbalance',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: false,
inputs: [
{ name: 'amount', type: 'uint256' },
{ name: 'sendTo', type: 'address' },
],
name: 'withdrawEther',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
},
{
constant: true,
inputs: [{ name: 'eInFp', type: 'uint256' }],
name: 'buyRateZeroQuantity',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'maxBuyRateInPrecision',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'minSellRateInPrecision',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'pMinInFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'maxQtyInFp',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'admin',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'minBuyRateInPrecision',
outputs: [{ name: '', type: 'uint256' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
constant: true,
inputs: [],
name: 'token',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ name: '_admin', type: 'address' },
{ name: '_token', type: 'address' },
],
payable: false,
stateMutability: 'nonpayable',
type: 'constructor',
},
{
anonymous: false,
inputs: [{ indexed: false, name: 'reserve', type: 'address' }],
name: 'ReserveAddressSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'rInFp', type: 'uint256' },
{ indexed: false, name: 'pMinInFp', type: 'uint256' },
{ indexed: false, name: 'numFpBits', type: 'uint256' },
{ indexed: false, name: 'maxCapBuyInFp', type: 'uint256' },
{ indexed: false, name: 'maxEthCapSellInFp', type: 'uint256' },
{ indexed: false, name: 'feeInBps', type: 'uint256' },
{ indexed: false, name: 'formulaPrecision', type: 'uint256' },
{ indexed: false, name: 'maxQtyInFp', type: 'uint256' },
{ indexed: false, name: 'maxBuyRateInPrecision', type: 'uint256' },
{ indexed: false, name: 'minBuyRateInPrecision', type: 'uint256' },
{ indexed: false, name: 'maxSellRateInPrecision', type: 'uint256' },
{ indexed: false, name: 'minSellRateInPrecision', type: 'uint256' },
],
name: 'LiquidityParamsSet',
type: 'event',
},
{
anonymous: false,
inputs: [{ indexed: false, name: 'resetFeesInTwei', type: 'uint256' }],
name: 'CollectedFeesReset',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'token', type: 'address' },
{ indexed: false, name: 'amount', type: 'uint256' },
{ indexed: false, name: 'sendTo', type: 'address' },
],
name: 'TokenWithdraw',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'amount', type: 'uint256' },
{ indexed: false, name: 'sendTo', type: 'address' },
],
name: 'EtherWithdraw',
type: 'event',
},
{
anonymous: false,
inputs: [{ indexed: false, name: 'pendingAdmin', type: 'address' }],
name: 'TransferAdminPending',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'newAdmin', type: 'address' },
{ indexed: false, name: 'previousAdmin', type: 'address' },
],
name: 'AdminClaimed',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'newAlerter', type: 'address' },
{ indexed: false, name: 'isAdd', type: 'bool' },
],
name: 'AlerterAdded',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, name: 'newOperator', type: 'address' },
{ indexed: false, name: 'isAdd', type: 'bool' },
],
name: 'OperatorAdded',
type: 'event',
},
];