Namespace org.accordproject.money.reference@1.0.0

Compatible with Concerto versions ^4.0.0. Has 2 declarations.

Concerto JSON AST PlantUML XML Schema Typescript C# OData JSON Schema GraphQL Java Go Avro Markdown OpenAPI Protobuf Mermaid

Declared Types

      
      import org.accordproject.money.reference@1.0.0.UnitMap from https://models.accordproject.org/money-reference@1.0.0.cto
      import org.accordproject.money.reference@1.0.0.CurrencyRegistry from https://models.accordproject.org/money-reference@1.0.0.cto
      
      

Dependencies

Source

    /*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
concerto version "^4.0.0"

namespace org.accordproject.money.reference@1.0.0

import org.accordproject.money@1.0.0.{Unit} from https://models.accordproject.org/money@1.0.0.cto

/**
 * A map of unit code -> Unit, keyed by the unit's `code`.
 */
map UnitMap {
  o String
  o Unit
}

/**
 * Reference data: the canonical set of Units for a single scheme
 * (e.g. "iso4217", "erc20"), indexed by unit code.
 *
 * This is a container for reference data, not contract data. Published
 * registries are validated instances of this concept; a consumer loads the
 * registry for a scheme and indexes `units` by code to resolve the canonical
 * Unit (and to validate that an amount's unit carries the standard
 * scale for its scheme).
 */
concept CurrencyRegistry {
  o String scheme
  o UnitMap units
}