-
Notifications
You must be signed in to change notification settings - Fork 8.8k
/
issuer.go
44 lines (37 loc) · 1.18 KB
/
issuer.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package plain
import (
"github.com/hyperledger/fabric/protos/token"
)
// An Issuer that can import new tokens
type Issuer struct{}
// RequestImport creates an import request with the token owners, types, and quantities specified in tokensToIssue.
func (i *Issuer) RequestImport(tokensToIssue []*token.TokenToIssue) (*token.TokenTransaction, error) {
var outputs []*token.PlainOutput
for _, tti := range tokensToIssue {
outputs = append(outputs, &token.PlainOutput{
Owner: tti.Recipient,
Type: tti.Type,
Quantity: tti.Quantity,
})
}
return &token.TokenTransaction{
Action: &token.TokenTransaction_PlainAction{
PlainAction: &token.PlainTokenAction{
Data: &token.PlainTokenAction_PlainImport{
PlainImport: &token.PlainImport{
Outputs: outputs,
},
},
},
},
}, nil
}
// RequestExpectation allows indirect import based on the expectation.
// It creates a token transaction with the outputs as specified in the expectation.
func (i *Issuer) RequestExpectation(request *token.ExpectationRequest) (*token.TokenTransaction, error) {
panic("not implemented yet")
}