Skip to content

Commit 99a1f49

Browse files
arnerdenyeart
authored andcommitted
add token sdk sample application
Signed-off-by: Arne Rutjes <[email protected]>
1 parent 62f304a commit 99a1f49

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+14174
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Additional samples demonstrate various Fabric use cases and application patterns
4949
| **Sample** | **Description** | **Documentation** |
5050
| -------------|------------------------------|------------------|
5151
| [Off chain data](off_chain_data) | Learn how to use block events to build an off-chain database for reporting and analytics. | [Peer channel-based event services](https://hyperledger-fabric.readthedocs.io/en/latest/peer_event_services.html) |
52+
| [Token SDK](token-sdk) | Sample REST API around the Hyperledger Labs [Token SDK](https://github.com/hyperledger-labs/fabric-token-sdk) for privacy friendly (zero knowledge proof) UTXO transactions. | [README](token-sdk/README.md) |
5253
| [Token ERC-20](token-erc-20) | Smart contract demonstrating how to create and transfer fungible tokens using an account-based model. | [README](token-erc-20/README.md) |
5354
| [Token UTXO](token-utxo) | Smart contract demonstrating how to create and transfer fungible tokens using a UTXO (unspent transaction output) model. | [README](token-utxo/README.md) |
5455
| [Token ERC-1155](token-erc-1155) | Smart contract demonstrating how to create and transfer multiple tokens (both fungible and non-fungible) using an account based model. | [README](token-erc-1155/README.md) |

token-sdk/.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
oapi-server.yaml

token-sdk/.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
bin/
2+
keys/
3+
data/
4+
tokenchaincode/zkatdlog_pp.json
5+
6+
auditor/auditor
7+
issuer/issuer
8+
owner/owner

token-sdk/Dockerfile

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#build stage
2+
FROM golang:1.20.7-bookworm AS builder
3+
WORKDIR /go/src/app
4+
COPY go.mod .
5+
COPY go.sum .
6+
RUN go mod download
7+
COPY . .
8+
RUN go build -o /go/bin/app
9+
10+
#final stage
11+
FROM golang:1.20.7-bookworm
12+
COPY --from=builder /go/bin/app /app
13+
ENTRYPOINT /app
14+
LABEL Name=tokens Version=0.1.0
15+
16+
ENV PORT=9000
17+
ENV CONF_DIR=/conf
18+
EXPOSE 9000
19+
EXPOSE 9001

token-sdk/README.md

+413
Large diffs are not rendered by default.

token-sdk/auditor/conf/core.yaml

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
logging:
2+
spec: info
3+
format: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}'
4+
5+
# ------------------- FSC Node Configuration -------------------------
6+
# The FSC node is responsible for the peer to peer communication with other token services.
7+
fsc:
8+
identity:
9+
cert:
10+
file: /var/fsc/keys/auditor/fsc/msp/signcerts/cert.pem
11+
key:
12+
file: /var/fsc/keys/auditor/fsc/msp/keystore/priv_sk
13+
tls:
14+
enabled: false # TODO
15+
p2p:
16+
listenAddress: /ip4/0.0.0.0/tcp/9001
17+
# If empty, this is a P2P boostrap node. Otherwise, it contains the name of the FSC node that is a bootstrap node.
18+
# The name of the FSC node that is a bootstrap node must be set under fsc.endpoint.resolvers
19+
bootstrapNode:
20+
kvs: # key-value-store
21+
persistence:
22+
type: badger # badger or memory
23+
opts:
24+
path: /var/fsc/data/auditor/kvs
25+
26+
# The endpoint section tells how to reach other FSC node in the network.
27+
# For each node, the name, the domain, the identity of the node, and its addresses must be specified.
28+
endpoint:
29+
resolvers:
30+
- name: issuer
31+
identity:
32+
id: issuer
33+
path: /var/fsc/keys/issuer/fsc/msp/signcerts/cert.pem
34+
addresses:
35+
P2P: issuer.example.com:9101
36+
- name: owner1
37+
identity:
38+
id: owner1
39+
path: /var/fsc/keys/owner1/fsc/msp/signcerts/cert.pem
40+
addresses:
41+
P2P: owner1.example.com:9201
42+
- name: owner2
43+
identity:
44+
id: owner2
45+
path: /var/fsc/keys/owner2/fsc/msp/signcerts/cert.pem
46+
addresses:
47+
P2P: owner2.example.com:9301
48+
49+
# ------------------- Fabric Configuration -------------------------
50+
fabric:
51+
enabled: true
52+
mynetwork:
53+
default: true
54+
mspConfigPath: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/users/[email protected]/msp
55+
defaultMSP: Org1MSP
56+
msps:
57+
- id: Org1MSP
58+
mspType: bccsp
59+
mspID: Org1MSP
60+
path: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/users/[email protected]/msp
61+
tls:
62+
enabled: true
63+
# If the keepalive values are too low, Fabric peers will complain with: ENHANCE_YOUR_CALM, debug data: "too_many_pings"
64+
keepalive:
65+
interval: 300s
66+
timeout: 600s
67+
# List of orderer nodes this node can connect to. There must be at least one orderer node. Others are discovered.
68+
orderers:
69+
- address: orderer.example.com:7050
70+
connectionTimeout: 10s
71+
tlsEnabled: true
72+
tlsRootCertFile: /var/fsc/keys/fabric/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt
73+
serverNameOverride: orderer.example.com
74+
# List of trusted peers this node can connect to. There must be at least one trusted peer. Others are discovered.
75+
peers:
76+
- address: peer0.org1.example.com:7051
77+
connectionTimeout: 10s
78+
tlsEnabled: true
79+
tlsRootCertFile: /var/fsc/keys/fabric/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
80+
serverNameOverride: peer0.org1.example.com
81+
# Channel where the token chaincode is deployed
82+
channels:
83+
- name: mychannel
84+
default: true
85+
# Configuration of the vault used to store the RW sets assembled by this node
86+
vault:
87+
persistence:
88+
type: badger
89+
opts:
90+
path: /var/fsc/data/auditor/vault
91+
92+
# ------------------- Token SDK Configuration -------------------------
93+
token:
94+
enabled: true
95+
tms:
96+
mytms: # unique name of this token management system
97+
network: mynetwork # the name of the fabric network as configured above
98+
channel: mychannel # the name of the network's channel this TMS refers to, if applicable
99+
namespace: tokenchaincode # chaincode name
100+
driver: zkatdlog # privacy preserving driver (zero knowledge asset transfer)
101+
wallets:
102+
auditors:
103+
- id: auditor # the unique identifier of this wallet. Here is an example of use: `ttx.GetIssuerWallet(context, "issuer)`
104+
default: true # is this the default issuer wallet
105+
path: /var/fsc/keys/auditor/aud/msp
106+
# Internal database to keep track of token transactions.
107+
# It is used by auditors and token owners to track history
108+
ttxdb:
109+
persistence:
110+
type: badger
111+
opts:
112+
path: /var/fsc/data/auditor/txdb

token-sdk/auditor/go.mod

+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
module github.com/hyperledger/fabric-samples/token-sdk/auditor
2+
3+
go 1.20
4+
5+
replace github.com/ugorji/go v1.1.4 => github.com/ugorji/go/codec v1.2.9
6+
7+
require (
8+
github.com/deepmap/oapi-codegen v1.15.0
9+
github.com/getkin/kin-openapi v0.120.0
10+
github.com/hyperledger-labs/fabric-smart-client v0.3.0
11+
github.com/hyperledger-labs/fabric-token-sdk v0.3.0
12+
github.com/labstack/echo/v4 v4.11.1
13+
github.com/pkg/errors v0.9.1
14+
)
15+
16+
require (
17+
github.com/BurntSushi/toml v1.3.2 // indirect
18+
github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53 // indirect
19+
github.com/CloudyKit/jet/v6 v6.2.0 // indirect
20+
github.com/IBM/idemix v0.0.2-0.20230831093709-b7a940638990 // indirect
21+
github.com/IBM/idemix/bccsp/schemes/aries v0.0.0-20230831093709-b7a940638990 // indirect
22+
github.com/IBM/idemix/bccsp/schemes/weak-bb v0.0.0-20230831093709-b7a940638990 // indirect
23+
github.com/IBM/idemix/bccsp/types v0.0.0-20230831093709-b7a940638990 // indirect
24+
github.com/IBM/mathlib v0.0.3-0.20230831091907-c532c4d3b65c // indirect
25+
github.com/Joker/jade v1.1.3 // indirect
26+
github.com/ReneKroon/ttlcache/v2 v2.11.0 // indirect
27+
github.com/Shopify/goreferrer v0.0.0-20220729165902-8cddb4f5de06 // indirect
28+
github.com/ale-linux/aries-framework-go/component/kmscrypto v0.0.0-20230817163708-4b3de6d91874 // indirect
29+
github.com/andybalholm/brotli v1.0.5 // indirect
30+
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
31+
github.com/aymerick/douceur v0.2.0 // indirect
32+
github.com/benbjohnson/clock v1.3.5 // indirect
33+
github.com/beorn7/perks v1.0.1 // indirect
34+
github.com/bytedance/sonic v1.9.1 // indirect
35+
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
36+
github.com/cespare/xxhash v1.1.0 // indirect
37+
github.com/cespare/xxhash/v2 v2.2.0 // indirect
38+
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
39+
github.com/consensys/bavard v0.1.13 // indirect
40+
github.com/consensys/gnark-crypto v0.9.1 // indirect
41+
github.com/containerd/cgroups v1.1.0 // indirect
42+
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
43+
github.com/davecgh/go-spew v1.1.1 // indirect
44+
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
45+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
46+
github.com/dgraph-io/badger/v3 v3.2103.2 // indirect
47+
github.com/dgraph-io/ristretto v0.1.0 // indirect
48+
github.com/docker/go-units v0.5.0 // indirect
49+
github.com/dustin/go-humanize v1.0.1 // indirect
50+
github.com/elastic/gosigar v0.14.2 // indirect
51+
github.com/fatih/structs v1.1.0 // indirect
52+
github.com/flosch/pongo2/v4 v4.0.2 // indirect
53+
github.com/flynn/noise v1.0.0 // indirect
54+
github.com/francoispqt/gojay v1.2.13 // indirect
55+
github.com/fsnotify/fsnotify v1.6.0 // indirect
56+
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
57+
github.com/gin-contrib/sse v0.1.0 // indirect
58+
github.com/gin-gonic/gin v1.9.1 // indirect
59+
github.com/go-kit/kit v0.10.0 // indirect
60+
github.com/go-logfmt/logfmt v0.5.1 // indirect
61+
github.com/go-logr/logr v1.2.4 // indirect
62+
github.com/go-logr/stdr v1.2.2 // indirect
63+
github.com/go-openapi/jsonpointer v0.19.6 // indirect
64+
github.com/go-openapi/swag v0.22.4 // indirect
65+
github.com/go-playground/locales v0.14.1 // indirect
66+
github.com/go-playground/universal-translator v0.18.1 // indirect
67+
github.com/go-playground/validator/v10 v10.14.0 // indirect
68+
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
69+
github.com/goccy/go-json v0.10.2 // indirect
70+
github.com/godbus/dbus/v5 v5.1.0 // indirect
71+
github.com/gogo/protobuf v1.3.2 // indirect
72+
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
73+
github.com/golang/glog v1.0.0 // indirect
74+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
75+
github.com/golang/mock v1.6.0 // indirect
76+
github.com/golang/protobuf v1.5.3 // indirect
77+
github.com/golang/snappy v0.0.4 // indirect
78+
github.com/gomarkdown/markdown v0.0.0-20230716120725-531d2d74bc12 // indirect
79+
github.com/google/flatbuffers v1.12.1 // indirect
80+
github.com/google/go-cmp v0.5.9 // indirect
81+
github.com/google/gopacket v1.1.19 // indirect
82+
github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b // indirect
83+
github.com/google/uuid v1.3.1 // indirect
84+
github.com/gorilla/css v1.0.0 // indirect
85+
github.com/gorilla/mux v1.8.0 // indirect
86+
github.com/gorilla/websocket v1.5.0 // indirect
87+
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
88+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect
89+
github.com/hashicorp/errwrap v1.1.0 // indirect
90+
github.com/hashicorp/go-multierror v1.1.1 // indirect
91+
github.com/hashicorp/go-uuid v1.0.2 // indirect
92+
github.com/hashicorp/golang-lru v0.5.4 // indirect
93+
github.com/hashicorp/hcl v1.0.0 // indirect
94+
github.com/huin/goupnp v1.2.0 // indirect
95+
github.com/hyperledger-labs/orion-sdk-go v0.2.5 // indirect
96+
github.com/hyperledger-labs/orion-server v0.2.5 // indirect
97+
github.com/hyperledger-labs/weaver-dlt-interoperability/common/protos-go v1.2.3-alpha.1 // indirect
98+
github.com/hyperledger-labs/weaver-dlt-interoperability/sdks/fabric/go-sdk v1.2.3-alpha.1.0.20210812140206-37f430515b8c // indirect
99+
github.com/hyperledger/fabric v1.4.0-rc1.0.20230401164317-bd8e24856939 // indirect
100+
github.com/hyperledger/fabric-amcl v0.0.0-20230602173724-9e02669dceb2 // indirect
101+
github.com/hyperledger/fabric-chaincode-go v0.0.0-20220920210243-7bc6fa0dd58b // indirect
102+
github.com/hyperledger/fabric-lib-go v1.0.0 // indirect
103+
github.com/hyperledger/fabric-private-chaincode v0.0.0-20210907122433-d56466264e4d // indirect
104+
github.com/hyperledger/fabric-protos-go v0.2.0 // indirect
105+
github.com/invopop/yaml v0.2.0 // indirect
106+
github.com/ipfs/boxo v0.8.0-rc1 // indirect
107+
github.com/ipfs/go-cid v0.4.1 // indirect
108+
github.com/ipfs/go-datastore v0.6.0 // indirect
109+
github.com/ipfs/go-ipfs-util v0.0.2 // indirect
110+
github.com/ipfs/go-log v1.0.5 // indirect
111+
github.com/ipfs/go-log/v2 v2.5.1 // indirect
112+
github.com/ipld/go-ipld-prime v0.20.0 // indirect
113+
github.com/iris-contrib/schema v0.0.6 // indirect
114+
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
115+
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
116+
github.com/jbenet/goprocess v0.1.4 // indirect
117+
github.com/josharian/intern v1.0.0 // indirect
118+
github.com/json-iterator/go v1.1.12 // indirect
119+
github.com/kataras/blocks v0.0.7 // indirect
120+
github.com/kataras/golog v0.1.9 // indirect
121+
github.com/kataras/iris/v12 v12.2.6-0.20230908161203-24ba4e8933b9 // indirect
122+
github.com/kataras/pio v0.0.12 // indirect
123+
github.com/kataras/sitemap v0.0.6 // indirect
124+
github.com/kataras/tunnel v0.0.4 // indirect
125+
github.com/kilic/bls12-381 v0.1.0 // indirect
126+
github.com/klauspost/compress v1.16.7 // indirect
127+
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
128+
github.com/koron/go-ssdp v0.0.4 // indirect
129+
github.com/labstack/gommon v0.4.0 // indirect
130+
github.com/leodido/go-urn v1.2.4 // indirect
131+
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
132+
github.com/libp2p/go-cidranger v1.1.0 // indirect
133+
github.com/libp2p/go-flow-metrics v0.1.0 // indirect
134+
github.com/libp2p/go-libp2p v0.31.0 // indirect
135+
github.com/libp2p/go-libp2p-asn-util v0.3.0 // indirect
136+
github.com/libp2p/go-libp2p-kad-dht v0.22.0 // indirect
137+
github.com/libp2p/go-libp2p-kbucket v0.5.0 // indirect
138+
github.com/libp2p/go-libp2p-record v0.2.0 // indirect
139+
github.com/libp2p/go-msgio v0.3.0 // indirect
140+
github.com/libp2p/go-nat v0.2.0 // indirect
141+
github.com/libp2p/go-netroute v0.2.1 // indirect
142+
github.com/libp2p/go-reuseport v0.4.0 // indirect
143+
github.com/libp2p/go-yamux/v4 v4.0.1 // indirect
144+
github.com/magiconair/properties v1.8.5 // indirect
145+
github.com/mailgun/raymond/v2 v2.0.48 // indirect
146+
github.com/mailru/easyjson v0.7.7 // indirect
147+
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
148+
github.com/mattn/go-colorable v0.1.13 // indirect
149+
github.com/mattn/go-isatty v0.0.19 // indirect
150+
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
151+
github.com/microcosm-cc/bluemonday v1.0.25 // indirect
152+
github.com/miekg/dns v1.1.55 // indirect
153+
github.com/miekg/pkcs11 v1.1.1 // indirect
154+
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
155+
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
156+
github.com/minio/sha256-simd v1.0.1 // indirect
157+
github.com/mitchellh/mapstructure v1.4.3 // indirect
158+
github.com/mmcloughlin/addchain v0.4.0 // indirect
159+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
160+
github.com/modern-go/reflect2 v1.0.2 // indirect
161+
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
162+
github.com/mr-tron/base58 v1.2.0 // indirect
163+
github.com/multiformats/go-base32 v0.1.0 // indirect
164+
github.com/multiformats/go-base36 v0.2.0 // indirect
165+
github.com/multiformats/go-multiaddr v0.11.0 // indirect
166+
github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect
167+
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
168+
github.com/multiformats/go-multibase v0.2.0 // indirect
169+
github.com/multiformats/go-multicodec v0.9.0 // indirect
170+
github.com/multiformats/go-multihash v0.2.3 // indirect
171+
github.com/multiformats/go-multistream v0.4.1 // indirect
172+
github.com/multiformats/go-varint v0.0.7 // indirect
173+
github.com/onsi/ginkgo/v2 v2.11.0 // indirect
174+
github.com/opencontainers/runtime-spec v1.1.0 // indirect
175+
github.com/opentracing/opentracing-go v1.2.0 // indirect
176+
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
177+
github.com/pelletier/go-toml v1.9.4 // indirect
178+
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
179+
github.com/perimeterx/marshmallow v1.1.5 // indirect
180+
github.com/pmezard/go-difflib v1.0.0 // indirect
181+
github.com/polydawn/refmt v0.89.0 // indirect
182+
github.com/prometheus/client_golang v1.14.0 // indirect
183+
github.com/prometheus/client_model v0.4.0 // indirect
184+
github.com/prometheus/common v0.42.0 // indirect
185+
github.com/prometheus/procfs v0.9.0 // indirect
186+
github.com/quic-go/qpack v0.4.0 // indirect
187+
github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
188+
github.com/quic-go/quic-go v0.38.1 // indirect
189+
github.com/quic-go/webtransport-go v0.5.3 // indirect
190+
github.com/raulk/go-watchdog v1.3.0 // indirect
191+
github.com/russross/blackfriday/v2 v2.1.0 // indirect
192+
github.com/schollz/closestmatch v2.1.0+incompatible // indirect
193+
github.com/sirupsen/logrus v1.9.0 // indirect
194+
github.com/spaolacci/murmur3 v1.1.0 // indirect
195+
github.com/spf13/afero v1.6.0 // indirect
196+
github.com/spf13/cast v1.4.1 // indirect
197+
github.com/spf13/jwalterweatherman v1.1.0 // indirect
198+
github.com/spf13/pflag v1.0.5 // indirect
199+
github.com/spf13/viper v1.10.1 // indirect
200+
github.com/stretchr/testify v1.8.4 // indirect
201+
github.com/subosito/gotenv v1.2.0 // indirect
202+
github.com/sykesm/zap-logfmt v0.0.4 // indirect
203+
github.com/tdewolff/minify/v2 v2.12.9 // indirect
204+
github.com/tdewolff/parse/v2 v2.6.8 // indirect
205+
github.com/test-go/testify v1.1.4 // indirect
206+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
207+
github.com/ugorji/go/codec v1.2.11 // indirect
208+
github.com/valyala/bytebufferpool v1.0.0 // indirect
209+
github.com/valyala/fasttemplate v1.2.2 // indirect
210+
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
211+
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
212+
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
213+
github.com/yosssi/ace v0.0.5 // indirect
214+
go.opencensus.io v0.24.0 // indirect
215+
go.opentelemetry.io/otel v1.14.0 // indirect
216+
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.13.0 // indirect
217+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.13.0 // indirect
218+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.13.0 // indirect
219+
go.opentelemetry.io/otel/sdk v1.13.0 // indirect
220+
go.opentelemetry.io/otel/trace v1.14.0 // indirect
221+
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
222+
go.uber.org/atomic v1.11.0 // indirect
223+
go.uber.org/dig v1.17.0 // indirect
224+
go.uber.org/fx v1.20.0 // indirect
225+
go.uber.org/multierr v1.11.0 // indirect
226+
go.uber.org/zap v1.25.0 // indirect
227+
golang.org/x/arch v0.3.0 // indirect
228+
golang.org/x/crypto v0.13.0 // indirect
229+
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
230+
golang.org/x/mod v0.12.0 // indirect
231+
golang.org/x/net v0.15.0 // indirect
232+
golang.org/x/sync v0.3.0 // indirect
233+
golang.org/x/sys v0.12.0 // indirect
234+
golang.org/x/text v0.13.0 // indirect
235+
golang.org/x/time v0.3.0 // indirect
236+
golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 // indirect
237+
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
238+
google.golang.org/grpc v1.53.0 // indirect
239+
google.golang.org/protobuf v1.31.0 // indirect
240+
gopkg.in/ini.v1 v1.67.0 // indirect
241+
gopkg.in/yaml.v2 v2.4.0 // indirect
242+
gopkg.in/yaml.v3 v3.0.1 // indirect
243+
lukechampine.com/blake3 v1.2.1 // indirect
244+
rsc.io/tmplfunc v0.0.3 // indirect
245+
)

0 commit comments

Comments
 (0)