whole_func_string: function Currencies (currencies) {
      if (!currencies) {
          throw new Error('Missing currencies object');
      }
  
      this.keys = parseInt(currencies.keys || 0);
      this.metal = parseFloat(currencies.metal || 0);
  
      if (isNaN(this.keys) || isNaN(this.metal)) {
          throw new Error('Not a valid currencies object');
      }
  
      this.metal = toRefined(toScrap(this.metal));
  }
func_code_string: function Currencies (currencies) {
      if (!currencies) {
          throw new Error('Missing currencies object');
      }
  
      this.keys = parseInt(currencies.keys || 0);
      this.metal = parseFloat(currencies.metal || 0);
  
      if (isNaN(this.keys) || isNaN(this.metal)) {
          throw new Error('Not a valid currencies object');
      }
  
      this.metal = toRefined(toScrap(this.metal));
  }
func_documentation_string: Creates a new Currencies instance
  @class
  @param {object} currencies The currencies object
  @throws Will throw an error if missing currencies object, or if it is not valid