Modelo de Mercado de Bond
A versão aprimorada do Blockchain App Builder inclui um atributo de modelo que gera métodos adicionais para o cenário de mercado de títulos.
Se você incluir o parâmetro model: bond
no arquivo de especificação para tokens que usam o padrão ERC-1155 estendido, o chaincode específico do aplicativo Blockchain App Builder, incluindo os seguintes métodos adicionais para uso com o aplicativo de mercado de títulos.
TypeScript Métodos do Bond Marketplace
O chaincode do mercado de títulos inclui todos os métodos disponíveis no chaincode NFT ERC-1155 genérico. Os seguintes métodos adicionais que são específicos para o cenário de mercado de títulos estão disponíveis.-
postToken
- Esse método só pode ser chamado por um criador de token. O método envia o token de título para listagem no mercado. Quando um token é criado, seu status é inicialmente definido como
created
. Esse método atualiza o status paraposted
. Os usuários podem executar o métodogetAllTokensWithFilter
para recuperar todos os NFTs com um statusposted
. -
purchaseToken
- Este método pode ser chamado por qualquer titular de conta para comprar um título listado NFT. A compra transfere o NFT do título da conta do criador para a conta do chamador e transfere tokens CBDC da conta do chamador para a conta do criador. Por causa disso, o método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao criador do token, e o valor de transferência do token CBDC deve ser igual ao valor nominal do token do título multiplicado pela quantidade que está sendo comprada. -
payInterest
- Esse método só pode ser chamado pelo criador ou administrador do token para pagar os juros ganhos no token do título. Esse método só poderá ser chamado se a frequência de juros do token for mensal, trimestral ou anual. Os juros não podem ser pagos se a frequência dos juros estiver no vencimento. Os juros são calculados pelo chaincode com base na taxa de cupom do token. A operação de compra transfere tokens CBDC da conta do chamador para a conta do proprietário do título. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao proprietário do token, e o valor de transferência do token CBDC deve ser igual aos juros calculados pelo código de cadeia de títulos. -
requestTokenRedemption
- Este método pode ser chamado apenas pelo proprietário do token para apresentar um pedido de resgate de tokens de títulos após o vencimento. Este método também envolve o cálculo do preço de resgate pelo chaincode. As solicitações de resgate só podem ser geradas na quantidade total do token de título que o usuário possui. Os usuários podem gerar várias solicitações de resgate com base em diferentes IDs de liquidação, mas apenas uma pode ser aprovada pelo criador do token.
-
approveTokenRedemption
- Esse método só pode ser chamado pelo criador do token para aprovar uma solicitação de resgate de tokens de títulos. A operação de aprovação transfere o NFT do título da conta do proprietário (o usuário que gerou a solicitação) para a conta do criador e transfere tokens CBDC do criador do título para a conta do proprietário. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder à conta do proprietário do token que gerou a solicitação de resgate, e o valor de transferência do token CBDC deve ser igual ao preço de resgate calculado que foi calculado pelo chaincode ao gerar a solicitação de resgate. -
rejectRedemption
- O criador do token pode chamar esse método para rejeitar a solicitação de resgate. Os proprietários de token podem gerar uma solicitação de resgate novamente usando um ID de liquidação diferente.
-
getAllTokensWithFilters
- O administrador pode chamar esse método get para extrair todos os tokens filtrados por status,
CREATED
ouPOSTED
. -
getTokenApprovalRequestByUser
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
getTokenApprovalRequestForUserByStatus
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
getAccountBondSummary
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua os detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate.
-
getAccountBondSummaryWithPagination
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate. Esse método pode retornar resultados com paginação com base nos valores de tamanho de página e marcador e também filtrado por hora de início e hora de término.
Métodos Go para Bond Marketplace
O chaincode do mercado de títulos inclui todos os métodos disponíveis no chaincode NFT ERC-1155 genérico. Os seguintes métodos adicionais que são específicos para o cenário de mercado de títulos estão disponíveis.-
PostToken
- Esse método só pode ser chamado por um criador de token. O método envia o token de título para listagem no mercado. Quando um token é criado, seu status é inicialmente definido como
created
. Esse método atualiza o status paraposted
. Os usuários podem executar o métodogetAllTokensWithFilter
para recuperar todos os NFTs com um statusposted
. -
PurchaseToken
- Este método pode ser chamado por qualquer titular de conta para comprar um título listado NFT. A compra transfere o NFT do título da conta do criador para a conta do chamador e transfere tokens CBDC da conta do chamador para a conta do criador. Por causa disso, o método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao criador do token, e o valor de transferência do token CBDC deve ser igual ao valor nominal do token do título multiplicado pela quantidade que está sendo comprada. -
PayInterest
- Esse método só pode ser chamado pelo criador ou administrador do token para pagar os juros ganhos no token do título. Esse método só poderá ser chamado se a frequência de juros do token for mensal, trimestral ou anual. Os juros não podem ser pagos se a frequência dos juros estiver no vencimento. Os juros são calculados pelo chaincode com base na taxa de cupom do token. A operação de compra transfere tokens CBDC da conta do chamador para a conta do proprietário do título. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao proprietário do token, e o valor de transferência do token CBDC deve ser igual aos juros calculados pelo código de cadeia de títulos. -
RequestTokenRedemption
- Este método pode ser chamado apenas pelo proprietário do token para apresentar um pedido de resgate de tokens de títulos após o vencimento. Este método também envolve o cálculo do preço de resgate pelo chaincode. As solicitações de resgate só podem ser geradas na quantidade total do token de título que o usuário possui. Os usuários podem gerar várias solicitações de resgate com base em diferentes IDs de liquidação, mas apenas uma pode ser aprovada pelo criador do token.
-
ApproveTokenRedemption
- Esse método só pode ser chamado pelo criador do token para aprovar uma solicitação de resgate de tokens de títulos. A operação de aprovação transfere o NFT do título da conta do proprietário (o usuário que gerou a solicitação) para a conta do criador e transfere tokens CBDC do criador do título para a conta do proprietário. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder à conta do proprietário do token que gerou a solicitação de resgate, e o valor de transferência do token CBDC deve ser igual ao preço de resgate calculado que foi calculado pelo chaincode ao gerar a solicitação de resgate. -
RejectRedemption
- O criador do token pode chamar esse método para rejeitar a solicitação de resgate. Os proprietários de token podem gerar uma solicitação de resgate novamente usando um ID de liquidação diferente.
-
GetAllTokensWithFilter
- O administrador pode chamar esse método get para extrair todos os tokens filtrados por status,
CREATED
ouPOSTED
. -
GetTokenApprovalRequestByUser
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
GetTokenApprovalRequestForUserByStatus
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
GetAccountBondSummary
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua os detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate.
-
GetAccountBondSummaryWithPagination
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate. Esse método pode retornar resultados com paginação com base nos valores de tamanho de página e marcador e também filtrado por hora de início e hora de término.
TypeScript Métodos SDK para o Bond Marketplace
-
payInterest
- O criador ou administrador do token pode chamar esse método para pagar os juros ganhos em um token de título. Esse método só poderá ser chamado se a frequência de juros do token for mensal, trimestral ou anual. Os juros não podem ser pagos se a frequência dos juros estiver no vencimento. Os juros são calculados pelo próprio chaincode com base na taxa de cupom do token. A operação de compra transfere tokens CBDC da conta do chamador para a conta do proprietário do título. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao proprietário do token, e o valor de transferência do token CBDC deve ser igual aos juros calculados pelo chaincode do título. -
requestTokenRedemption
- Este método pode ser chamado apenas pelo proprietário do token para apresentar um pedido de resgate de tokens de títulos após o vencimento. Este método também envolve o cálculo do preço de resgate pelo chaincode. As solicitações de resgate só podem ser geradas na quantidade total do token de título que o usuário possui. Os usuários podem gerar várias solicitações de resgate com base em diferentes IDs de liquidação, mas apenas uma pode ser aprovada pelo criador do token.
-
approveTokenRedemption
- Esse método só pode ser chamado pelo criador do token para aprovar uma solicitação de resgate de tokens de títulos. A operação de aprovação transfere o NFT do título da conta do proprietário (o usuário que gerou a solicitação) para a conta do criador e transfere tokens CBDC do criador do título para a conta do proprietário. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder à conta do proprietário do token que gerou a solicitação de resgate, e o valor de transferência do token CBDC deve ser igual ao preço de resgate calculado que foi calculado pelo chaincode ao gerar a solicitação de resgate. -
rejectRedemption
- O criador do token pode chamar esse método para rejeitar a solicitação de resgate. Os proprietários de token podem gerar uma solicitação de resgate novamente usando um ID de liquidação diferente.
-
getAllTokensWithFilter
- O administrador pode chamar esse método get para extrair todos os tokens filtrados por status,
CREATED
ouPOSTED
. -
getTokenApprovalRequestByUser
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
getTokenApprovalRequestForUserByStatus
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
getAccountBondSummary
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua os detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate.
-
getAccountBondSummaryWithPagination
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate. Esse método pode retornar resultados com paginação com base nos valores de tamanho de página e marcador e também filtrado por hora de início e hora de término.
Métodos Go SDK para o Bond Marketplace
-
PayInterest
- O criador ou administrador do token pode chamar esse método para pagar os juros ganhos em um token de título. Esse método só poderá ser chamado se a frequência de juros do token for mensal, trimestral ou anual. Os juros não podem ser pagos se a frequência dos juros estiver no vencimento. Os juros são calculados pelo próprio chaincode com base na taxa de cupom do token. A operação de compra transfere tokens CBDC da conta do chamador para a conta do proprietário do título. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder ao proprietário do token, e o valor de transferência do token CBDC deve ser igual aos juros calculados pelo chaincode do título. -
RequestTokenRedemption
- Este método pode ser chamado apenas pelo proprietário do token para apresentar um pedido de resgate de tokens de títulos após o vencimento. Este método também envolve o cálculo do preço de resgate pelo chaincode. As solicitações de resgate só podem ser geradas na quantidade total do token de título que o usuário possui. Os usuários podem gerar várias solicitações de resgate com base em diferentes IDs de liquidação, mas apenas uma pode ser aprovada pelo criador do token.
-
ApproveTokenRedemption
- Esse método só pode ser chamado pelo criador do token para aprovar uma solicitação de resgate de tokens de títulos. A operação de aprovação transfere o NFT do título da conta do proprietário (o usuário que gerou a solicitação) para a conta do criador e transfere tokens CBDC do criador do título para a conta do proprietário. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os
orgId
euserId
corretos para a transferência. OorgId
e ouserId
devem corresponder à conta do proprietário do token que gerou a solicitação de resgate, e o valor de transferência do token CBDC deve ser igual ao preço de resgate calculado que foi calculado pelo chaincode ao gerar a solicitação de resgate. -
RejectRedemption
- O criador do token pode chamar esse método para rejeitar a solicitação de resgate. Os proprietários de token podem gerar uma solicitação de resgate novamente usando um ID de liquidação diferente.
-
GetAllTokensWithFilter
- O administrador pode chamar esse método get para extrair todos os tokens filtrados por status,
CREATED
ouPOSTED
. -
GetTokenApprovalRequestByUser
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
GetTokenApprovalRequestForUserByStatus
- Qualquer titular de conta pode chamar esse método get para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
-
GetAccountBondSummary
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua os detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate.
-
GetAccountBondSummaryWithPagination
- Qualquer titular da conta pode chamar esse método de obtenção para obter um resumo da conta que inclua detalhes dos tokens comprados ou resgatados e o preço de compra e o preço de resgate. Esse método pode retornar resultados com paginação com base nos valores de tamanho de página e marcador e também filtrado por hora de início e hora de término.