func: function setRate( ERC20[] sources, ERC20[] dests, uint[] conversionRates, uint[] expiryBlocks, bool validate ) returns(bool) {
          if( msg.sender != reserveOwner ) {
              
              ErrorReport( tx.origin, 0x820000000, uint(msg.sender) );
              return false;
          }
  
          if( validate ) {
              if( ( sources.length != dests.length ) ||
                  ( sources.length != conversionRates.length ) ||
                  ( sources.length != expiryBlocks.length ) ) {
                  
                  ErrorReport( tx.origin, 0x820000001, 0 );
                  return false;
              }
          }
  
          for( uint i = 0 ; i < sources.length ; i++ ) {
              SetRate( sources[i], dests[i], conversionRates[i], expiryBlocks[i] );
              pairConversionRate[sha3(sources[i],dests[i])] = ConversionRate( conversionRates[i], expiryBlocks[i] );
          }
  
          ErrorReport( tx.origin, 0, 0 );
          return true;
      }