Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace org.conductor.blockchain
- /*
- * Moeda define um tipo de moeda
- */
- enum Moeda {
- o BRL
- o USD
- }
- /*
- * Tipo de operação de compra
- */
- enum CompraTipo {
- o DEBITO
- o CREDITO
- }
- concept Compra {
- o String destino
- o Double valor
- o DateTime data
- }
- asset Fatura identified by faturaId{
- o String faturaId
- o String cartaoNumero
- o Portador portador
- o Emissor emissor
- o Compra[] compras
- o Double extras
- o Double total
- o Boolean foiPaga
- o DateTime dataPgmt
- }
- /*
- * Credito define uma quantidade de credito cedida de um emissor a um portador
- */
- asset CartaoCredito identified by numeroCartao {
- o String numeroCartao
- // Dados dos proprietários do cartão
- --> Portador portador
- --> Emissor emissor
- // Limites
- o Double limiteCreditoMaximo
- o Double limiteDisponivel
- o Double limiteExcedente
- // Informações cartão
- o String bandeira
- o String senha
- o String cvv
- o DateTime diaVencimento
- // Historico
- o Compra[] compras
- }
- /*
- * Emissor é a empresa que cede crédito
- */
- participant Emissor identified by emissorId {
- o String emissorId
- }
- /*
- * Portador é um cliente dono de um ou mais créditos
- */
- concept Score{
- o Boolean eNegativo
- o Double valor
- }
- participant Portador identified by cpf {
- o String cpf
- o String nome
- o String sobrenome
- o String endereco
- o Score score
- }
- /*
- * Realiza uma compra
- */
- transaction RealizarCompra {
- --> CartaoCredito cartao
- o String destino
- o Moeda moeda
- o Double valor
- }
- transaction PagarFatura{
- o String idFatura
- o Double valor
- }
- transaction CriarFatura{
- --> CartaoCredito cartao
- }
- transaction CriarPortador{
- o String cpf
- o String nome
- o String sobrenome
- o String endereco
- }
- transaction CriarCartao{
- o String numCartao
- o String cpf
- o String emissor
- o Double limiteCreditoMaximo
- o String senha
- o DateTime diaVencimento
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement