From 336010a6234b7eeadb06e91acf6e530952b77c5c Mon Sep 17 00:00:00 2001 From: Pavel Brm <5097196+pavelbrm@users.noreply.github.com> Date: Thu, 12 Dec 2024 23:17:06 +1300 Subject: [PATCH 1/2] chore: update crypto package (#2727) --- cmd/go.mod | 6 +++--- cmd/go.sum | 12 +++++------ libs/go.mod | 8 ++++---- libs/go.sum | 20 +++++++++--------- main/go.mod | 13 ++++++------ main/go.sum | 32 ++++++++++++++--------------- nitro-shim/tools/gvproxy/go.mod | 4 ++-- nitro-shim/tools/gvproxy/go.sum | 10 ++++----- services/go.mod | 8 ++++---- services/go.sum | 28 ++++++++++++------------- tools/go.mod | 15 +++++++------- tools/go.sum | 32 ++++++++++++++--------------- tools/payments/cmd/authorize/go.mod | 4 ++-- tools/payments/cmd/authorize/go.sum | 8 ++++---- tools/payments/cmd/bootstrap/go.mod | 4 ++-- tools/payments/cmd/bootstrap/go.sum | 8 ++++---- tools/payments/cmd/configure/go.mod | 4 ++-- tools/payments/cmd/configure/go.sum | 8 ++++---- tools/payments/cmd/create/go.mod | 4 ++-- tools/payments/cmd/create/go.sum | 8 ++++---- tools/payments/cmd/prepare/go.mod | 4 ++-- tools/payments/cmd/prepare/go.sum | 8 ++++---- tools/payments/cmd/validate/go.mod | 4 ++-- tools/payments/cmd/validate/go.sum | 8 ++++---- tools/payments/go.mod | 4 ++-- tools/payments/go.sum | 8 ++++---- 26 files changed, 137 insertions(+), 135 deletions(-) diff --git a/cmd/go.mod b/cmd/go.mod index 839c9ffb7..dc83480f4 100644 --- a/cmd/go.mod +++ b/cmd/go.mod @@ -47,9 +47,9 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.1 // indirect github.com/throttled/throttled v2.2.5+incompatible // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/cmd/go.sum b/cmd/go.sum index 3ee67447f..7ea905321 100644 --- a/cmd/go.sum +++ b/cmd/go.sum @@ -307,8 +307,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -449,8 +449,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -461,8 +461,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/libs/go.mod b/libs/go.mod index 16d657cc3..461931a5c 100644 --- a/libs/go.mod +++ b/libs/go.mod @@ -38,7 +38,7 @@ require ( github.com/superp00t/niceware v0.0.0-20170614015008-16cb30c384b5 github.com/throttled/throttled v2.2.5+incompatible github.com/tyler-smith/go-bip39 v1.1.0 - golang.org/x/crypto v0.21.0 + golang.org/x/crypto v0.31.0 golang.org/x/net v0.23.0 gotest.tools v2.2.0+incompatible ) @@ -88,9 +88,9 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect google.golang.org/genproto v0.0.0-20230221151758-ace64dc21148 // indirect google.golang.org/grpc v1.53.0 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/libs/go.sum b/libs/go.sum index a367fc379..3da5caeaf 100644 --- a/libs/go.sum +++ b/libs/go.sum @@ -1319,8 +1319,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1369,7 +1369,7 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1475,8 +1475,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1605,8 +1605,8 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1623,8 +1623,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1714,7 +1714,7 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/main/go.mod b/main/go.mod index 406735519..5816a2d53 100644 --- a/main/go.mod +++ b/main/go.mod @@ -156,15 +156,16 @@ require ( github.com/tyler-smith/go-bip39 v1.1.0 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.23.0 // indirect - golang.org/x/mod v0.11.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.11.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.10.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/api v0.134.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect diff --git a/main/go.sum b/main/go.sum index b9be392a1..1779d105f 100644 --- a/main/go.sum +++ b/main/go.sum @@ -689,8 +689,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github/v39 v39.2.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -1494,8 +1494,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1544,8 +1544,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= -golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1652,8 +1652,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1784,15 +1784,15 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1803,8 +1803,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1896,8 +1896,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= -golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/nitro-shim/tools/gvproxy/go.mod b/nitro-shim/tools/gvproxy/go.mod index 7ed92cdb5..cd6780a23 100644 --- a/nitro-shim/tools/gvproxy/go.mod +++ b/nitro-shim/tools/gvproxy/go.mod @@ -21,10 +21,10 @@ require ( github.com/mdlayher/vsock v1.2.0 // indirect github.com/miekg/dns v1.1.52 // indirect github.com/u-root/uio v0.0.0-20210528114334-82958018845c // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/mod v0.9.0 // indirect golang.org/x/net v0.23.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/sys v0.28.0 // indirect golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect golang.org/x/tools v0.7.0 // indirect gvisor.dev/gvisor v0.0.0-20221216231429-a78e892a26d2 // indirect diff --git a/nitro-shim/tools/gvproxy/go.sum b/nitro-shim/tools/gvproxy/go.sum index 89eb78bfa..2cbd7d048 100644 --- a/nitro-shim/tools/gvproxy/go.sum +++ b/nitro-shim/tools/gvproxy/go.sum @@ -64,8 +64,8 @@ github.com/u-root/uio v0.0.0-20210528114334-82958018845c/go.mod h1:LpEX5FO/cB+WF golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= @@ -99,9 +99,9 @@ golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201101102859-da207088b7d1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210525143221-35b2ab0089ea/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= diff --git a/services/go.mod b/services/go.mod index 7149d24ac..b8658258e 100644 --- a/services/go.mod +++ b/services/go.mod @@ -126,12 +126,12 @@ require ( github.com/x448/float16 v0.8.4 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.11.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/grpc v1.58.3 // indirect diff --git a/services/go.sum b/services/go.sum index 797af10a1..bf7dd8da1 100644 --- a/services/go.sum +++ b/services/go.sum @@ -681,8 +681,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github/v39 v39.2.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -1422,8 +1422,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1474,8 +1474,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= -golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1583,8 +1583,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1716,8 +1716,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1735,8 +1735,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1827,8 +1827,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= -golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tools/go.mod b/tools/go.mod index 9f68e810a..7449ec27d 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -22,8 +22,8 @@ require ( github.com/spf13/cobra v1.6.1 github.com/spf13/viper v1.13.0 github.com/stretchr/testify v1.8.4 - golang.org/x/crypto v0.23.0 - golang.org/x/term v0.20.0 + golang.org/x/crypto v0.31.0 + golang.org/x/term v0.27.0 gopkg.in/macaroon.v2 v2.1.0 gopkg.in/yaml.v2 v2.4.0 gotest.tools v2.2.0+incompatible @@ -79,7 +79,7 @@ require ( github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/gomodule/redigo v2.0.0+incompatible // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/tink/go v1.7.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -140,12 +140,13 @@ require ( github.com/throttled/throttled v2.2.5+incompatible // indirect github.com/tyler-smith/go-bip39 v1.1.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/mod v0.11.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.10.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/grpc v1.58.3 // indirect google.golang.org/protobuf v1.31.0 // indirect diff --git a/tools/go.sum b/tools/go.sum index 7f7d6bb91..a6c1ef678 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -672,8 +672,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github/v39 v39.2.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -1440,8 +1440,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1489,8 +1489,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= -golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1591,8 +1591,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1721,15 +1721,15 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1739,8 +1739,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1831,8 +1831,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= -golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tools/payments/cmd/authorize/go.mod b/tools/payments/cmd/authorize/go.mod index 8d48a3085..cdaa4c6f8 100644 --- a/tools/payments/cmd/authorize/go.mod +++ b/tools/payments/cmd/authorize/go.mod @@ -30,7 +30,7 @@ require ( github.com/veracruz-project/go-nitro-enclave-attestation-document v0.0.0-20230315135749-6fc97d770084 // indirect github.com/veraison/go-cose v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/tools/payments/cmd/authorize/go.sum b/tools/payments/cmd/authorize/go.sum index eb692b022..73d01963b 100644 --- a/tools/payments/cmd/authorize/go.sum +++ b/tools/payments/cmd/authorize/go.sum @@ -86,8 +86,8 @@ github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcY golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -99,8 +99,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/tools/payments/cmd/bootstrap/go.mod b/tools/payments/cmd/bootstrap/go.mod index d4208e15b..1009bc0a6 100644 --- a/tools/payments/cmd/bootstrap/go.mod +++ b/tools/payments/cmd/bootstrap/go.mod @@ -51,7 +51,7 @@ require ( github.com/veracruz-project/go-nitro-enclave-attestation-document v0.0.0-20230315135749-6fc97d770084 // indirect github.com/veraison/go-cose v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/tools/payments/cmd/bootstrap/go.sum b/tools/payments/cmd/bootstrap/go.sum index c4535046b..be958dd1b 100644 --- a/tools/payments/cmd/bootstrap/go.sum +++ b/tools/payments/cmd/bootstrap/go.sum @@ -130,8 +130,8 @@ github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcY golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -143,8 +143,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/tools/payments/cmd/configure/go.mod b/tools/payments/cmd/configure/go.mod index 09578f087..7ddd88298 100644 --- a/tools/payments/cmd/configure/go.mod +++ b/tools/payments/cmd/configure/go.mod @@ -7,6 +7,6 @@ go 1.20 require filippo.io/age v1.1.1 require ( - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect ) diff --git a/tools/payments/cmd/configure/go.sum b/tools/payments/cmd/configure/go.sum index 202a4a3f6..c77fce02a 100644 --- a/tools/payments/cmd/configure/go.sum +++ b/tools/payments/cmd/configure/go.sum @@ -1,6 +1,6 @@ filippo.io/age v1.1.1 h1:pIpO7l151hCnQ4BdyBujnGP2YlUo0uj6sAVNHGBvXHg= filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/tools/payments/cmd/create/go.mod b/tools/payments/cmd/create/go.mod index abb499b0d..bc6d25fa0 100644 --- a/tools/payments/cmd/create/go.mod +++ b/tools/payments/cmd/create/go.mod @@ -10,6 +10,6 @@ require ( ) require ( - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/sys v0.20.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect ) diff --git a/tools/payments/cmd/create/go.sum b/tools/payments/cmd/create/go.sum index 75ed934db..82c5690a6 100644 --- a/tools/payments/cmd/create/go.sum +++ b/tools/payments/cmd/create/go.sum @@ -2,7 +2,7 @@ filippo.io/age v1.1.1 h1:pIpO7l151hCnQ4BdyBujnGP2YlUo0uj6sAVNHGBvXHg= filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE= github.com/openbao/openbao/sdk/v2 v2.0.1 h1:to7KnJSf3Guz082ZJvnCqRrsdrVO2Hd4V1tQRhxd9jw= github.com/openbao/openbao/sdk/v2 v2.0.1/go.mod h1:JmVNJPvv1g1043F1dXWkqpBPkgxjArXy/oK8Iu82wN0= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= diff --git a/tools/payments/cmd/prepare/go.mod b/tools/payments/cmd/prepare/go.mod index 4b1c2ec22..1e019bbe1 100644 --- a/tools/payments/cmd/prepare/go.mod +++ b/tools/payments/cmd/prepare/go.mod @@ -30,7 +30,7 @@ require ( github.com/veracruz-project/go-nitro-enclave-attestation-document v0.0.0-20230315135749-6fc97d770084 // indirect github.com/veraison/go-cose v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/tools/payments/cmd/prepare/go.sum b/tools/payments/cmd/prepare/go.sum index eb692b022..73d01963b 100644 --- a/tools/payments/cmd/prepare/go.sum +++ b/tools/payments/cmd/prepare/go.sum @@ -86,8 +86,8 @@ github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcY golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -99,8 +99,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/tools/payments/cmd/validate/go.mod b/tools/payments/cmd/validate/go.mod index b634c8f23..cca039805 100644 --- a/tools/payments/cmd/validate/go.mod +++ b/tools/payments/cmd/validate/go.mod @@ -30,7 +30,7 @@ require ( github.com/veracruz-project/go-nitro-enclave-attestation-document v0.0.0-20230315135749-6fc97d770084 // indirect github.com/veraison/go-cose v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect google.golang.org/protobuf v1.30.0 // indirect ) diff --git a/tools/payments/cmd/validate/go.sum b/tools/payments/cmd/validate/go.sum index eb692b022..73d01963b 100644 --- a/tools/payments/cmd/validate/go.sum +++ b/tools/payments/cmd/validate/go.sum @@ -86,8 +86,8 @@ github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcY golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -99,8 +99,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= diff --git a/tools/payments/go.mod b/tools/payments/go.mod index c668602ff..f8f63e6ac 100644 --- a/tools/payments/go.mod +++ b/tools/payments/go.mod @@ -31,8 +31,8 @@ require ( github.com/satori/go.uuid v1.2.0 // indirect github.com/veraison/go-cose v1.0.0-rc.1 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/crypto v0.31.0 // indirect + golang.org/x/sys v0.28.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/tools/payments/go.sum b/tools/payments/go.sum index 765b5dcbb..09653c6ee 100644 --- a/tools/payments/go.sum +++ b/tools/payments/go.sum @@ -270,8 +270,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -392,8 +392,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 33f7a36e880e9b40d2fa93399f5c292a21250e38 Mon Sep 17 00:00:00 2001 From: clD11 <23483715+clD11@users.noreply.github.com> Date: Thu, 12 Dec 2024 11:34:09 +0000 Subject: [PATCH 2/2] docs: remove old information and diagrams (#2725) --- services/skus/README.md | 233 +------------------ services/skus/docs/StripeSKUsIntegration.pdf | Bin 45035 -> 0 bytes services/skus/docs/cross-platform.md | 69 ------ 3 files changed, 1 insertion(+), 301 deletions(-) delete mode 100644 services/skus/docs/StripeSKUsIntegration.pdf delete mode 100644 services/skus/docs/cross-platform.md diff --git a/services/skus/README.md b/services/skus/README.md index 9e4b4cc10..73d3842dc 100644 --- a/services/skus/README.md +++ b/services/skus/README.md @@ -1,5 +1,5 @@ -# Brave SKUs Service +# SKU Service ### Getting Started @@ -23,234 +23,3 @@ 4. Optionally before pushing code for review run `export TEST_TAGS=integration; make docker-test` with all new code and make sure it will pass when it hits CI 5. Commit and push - - -### SKU Tokens - -SKU Tokens represent cookie-like objects with domain specific caveats, new tokens can be created following the instructions in [this readme](https://github.com/brave-intl/bat-go/tree/master/tools/macaroon/cmd/README.md) - -This is an example of one possible [SKU token](https://github.com/brave-intl/bat-go/blob/master/tools/macaroon/cmd/brave-together/brave_together_paid_dev.yaml) - -``` -tokens: - - id: "brave-together-paid sku token v1" - version: 1 - location: "together.bsg.brave.software" - first_party_caveats: - - sku: "brave-together-paid" - - price: 5 - - currency: "USD" - - description: "One month paid subscription for Brave Together" - - credential_type: "time-limited" - - credential_valid_duration: "P1M" - - payment_methods: ["stripe"] -``` - -### Creating a Free Trial - -Given the knowledge of a free trial SKU unlimited numbers of trials can be created. Care must be taken to keep free trial SKUs secret. - -Certain SKU tokens do not have a price, and once users have created an order for them they may redeem credentials to access the related service. In this example, we will create a free trial order for Brave Talk: - -Construct a `POST` request to ```/v1/orders``` with the following metadata - -``` -{ - "items": [{ - "sku": "MDAyOWxvY2F0aW9uIHRvZ2V0aGVyLmJzZy5icmF2ZS5zb2Z0d2FyZQowMDMwaWRlbnRpZmllciBicmF2ZS10b2dldGhlci1mcmVlIHNrdSB0b2tlbiB2MQowMDIwY2lkIHNrdT1icmF2ZS10b2dldGhlci1mcmVlCjAwMTBjaWQgcHJpY2U9MAowMDE1Y2lkIGN1cnJlbmN5PUJBVAowMDNjY2lkIGRlc2NyaXB0aW9uPU9uZSBtb250aCBmcmVlIHRyaWFsIGZvciBCcmF2ZSBUb2dldGhlcgowMDI1Y2lkIGNyZWRlbnRpYWxfdHlwZT10aW1lLWxpbWl0ZWQKMDAyNmNpZCBjcmVkZW50aWFsX3ZhbGlkX2R1cmF0aW9uPVAxTQowMDJmc2lnbmF0dXJlIGebBXoPnj06tvlJkPEDLp9nfWo6Wfc1Txj6jTlgxjrQCg==", - "quantity": 1 - }] -} -``` - -Upon GET request to ```/v1/orders/:orderId```, server will respond with: - -``` -{ - "id": "92aafa4b-da7e-46b1-99c1-e8d30b26bc0f", - "createdAt": "2021-04-12T00:11:51.954386Z", - "currency": "BAT", - "updatedAt": "2021-04-12T00:11:51.954386Z", - "totalPrice": "0", - "merchantId": "brave.com", - "location": "together.bsg.brave.software", - "status": "paid", - "items": [{ - "id": "0b573a13-3c3d-40b7-bdac-879c531d31fb", - "orderId": "92aafa4b-da7e-46b1-99c1-e8d30b26bc0f", - "sku": "brave-together-free", - "createdAt": "2021-04-12T00:11:51.954386Z", - "updatedAt": "2021-04-12T00:11:51.954386Z", - "currency": "BAT", - "quantity": 1, - "price": "0", - "subtotal": "0", - "location": "together.bsg.brave.software", - "description": "One month free trial for Brave Together", - "type": "time-limited" - }] -} -``` - -Because the status on this order is _paid_ we may create and request credentials - -Construct a `POST` request to ```/v1/orders/:orderId/credentials``` with the following metadata - -``` -{ - "itemId": , - "blindedCreds": [] -} -``` - -Server will respond with status 200 OK. To retrieve these credentials construct a `GET` request to ```/v1/orders/:orderId/credentials``` - -Server will respond with the following payload: - -``` -[ - { - "id": "0b573a13-3c3d-40b7-bdac-879c531d31fb", - "orderId": "92aafa4b-da7e-46b1-99c1-e8d30b26bc0f", - "issuedAt": "2021-04-12", - "expiresAt": "2021-05-17", - "token": "ZCtG5A8lvArgJtBOR4I4tfHmDsM+pBrb9STaa1k1qbOhGHaYO2HFA2MUvoJ9edGX" - } -] -``` - -### Creating a Paid Order - -Similarly to a free order, we will submit a creation request, however we will include an email which will be needed for management of subscriptions - -Construct a `POST` request to ```/v1/orders``` with the following metadata - -``` -{"items": [ -{"sku": "MDAyOWxvY2F0aW9uIHRvZ2V0aGVyLmJzZy5icmF2ZS5zb2Z0d2FyZQowMDMwaWRlbnRpZmllciBicmF2ZS10b2dldGhlci1wYWlkIHNrdSB0b2tlbiB2MQowMDIwY2lkIHNrdT1icmF2ZS10b2dldGhlci1wYWlkCjAwMTBjaWQgcHJpY2U9NQowMDE1Y2lkIGN1cnJlbmN5PVVTRAowMDQzY2lkIGRlc2NyaXB0aW9uPU9uZSBtb250aCBwYWlkIHN1YnNjcmlwdGlvbiBmb3IgQnJhdmUgVG9nZXRoZXIKMDAyNWNpZCBjcmVkZW50aWFsX3R5cGU9dGltZS1saW1pdGVkCjAwMjZjaWQgY3JlZGVudGlhbF92YWxpZF9kdXJhdGlvbj1QMU0KMDAyZnNpZ25hdHVyZSDKLJ7NuuzP3KdmTdVnn0dI3JmIfNblQKmY+WBJOqnQJAo=", "quantity": 1}], - "email": "customeremail@gmail.com" -} -``` - -Upon `GET` request to ```/v1/orders/:orderId```, server will respond with: - -``` -{ - "id": "89ded3d9-55e1-4e26-bc18-228e76cf03ca", - "createdAt": "2021-04-12T00:51:44.61976Z", - "currency": "USD", - "updatedAt": "2021-04-12T00:51:45.515351Z", - "totalPrice": "5", - "merchantId": "brave.com", - "location": "together.bsg.brave.software", - "status": "pending", - "items": [{ - "id": "355ae321-0ceb-4698-9fed-158190da6fa4", - "orderId": "89ded3d9-55e1-4e26-bc18-228e76cf03ca", - "sku": "brave-together-paid", - "createdAt": "2021-04-12T00:51:44.61976Z", - "updatedAt": "2021-04-12T00:51:44.61976Z", - "currency": "USD", - "quantity": 1, - "price": "5", - "subtotal": "5", - "location": "together.bsg.brave.software", - "description": "One month paid subscription for Brave Together", - "type": "time-limited" - }], - "stripeCheckoutSessionId": "cs_test_a1g0n8FWNT3ClB2p9shKlpchGTw7cDKQCOqLJ1dSBcRd9ZsLssrtDLbZgM" -} -``` - -Because this order is Stripe payable, we will receive a Stripe Checkout Session Id, this identifier can be used to fulfill the order via a credit card. For example if we construct the following sample script: - -```html - - - - Buy cool new product - - - - - - - - - -``` - -And host locally, we can redirect to a page similar to this: - -Screen Shot 2021-04-11 at 9 18 10 PM - -A credit card can then be entered, and upon successful payment, the corresponding order will become paid. Once paid, credentials may be created and requested as in the free trial. - -### Architecture - -Documentation above refers to a general use of the payment service. In the context of Brave Talk, the order of various calls and the service making the call is outlined in the diagram below: - -Screen Shot 2021-04-30 at 1 58 22 PM - - -### Stripe Integration - -For the stripe integration details refer to the diagram below with numbered interactions. - -[stripe integration diagram](docs/StripeSKUsIntegration.pdf) - -### Submitting a Receipt - -In some circumstances it is desirable to submit a receipt for a particular order to prove it was -paid, and have the skus service handle the validation of said receipt. Currently implemented -there are two receipt providers of which SKUs is capable of validating payment was collected, -android and ios. - -``` -curl -XPOST /v1/orders//submit-receipt -d '' -``` - -The payload of the above call is a Base64 encoded string of a JSON document. Two examples follow: - -```json -{ - "type": "ios", - "raw_receipt": "", - "package": "com.brave...", // android specific, - "subscription_id": "brave-firewall-vpn-premium", // the sku string value of the subscription -} -``` - -The and example POST payload of the API call to submit receipt is the above json base64 encoded. -### Submitting a Receipt - -In some circumstances it is desirable to submit a receipt for a particular order to prove it was -paid, and have the skus service handle the validation of said receipt. Currently implemented -there are two receipt providers of which SKUs is capable of validating payment was collected, -android and ios. - -``` -curl -XPOST /v1/orders//submit-receipt -d '' -``` - -The payload of the above call is a Base64 encoded string of a JSON document. Two examples follow: - -```json -{ - "type": "ios", - "raw_receipt": "", - "package": "com.brave...", // android specific, - "subscription_id": "brave-firewall-vpn-premium", // the sku string value of the subscription -} -``` - -The and example POST payload of the API call to submit receipt is the above json base64 encoded. diff --git a/services/skus/docs/StripeSKUsIntegration.pdf b/services/skus/docs/StripeSKUsIntegration.pdf deleted file mode 100644 index 5e57fdf24dba4c29cbc8cb864605ed8fa5a4c5b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45035 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 diff --git a/services/skus/docs/cross-platform.md b/services/skus/docs/cross-platform.md deleted file mode 100644 index a4b334320..000000000 --- a/services/skus/docs/cross-platform.md +++ /dev/null @@ -1,69 +0,0 @@ -# Cross Platform Receipt Validation - -To allow for in-app-purchases the SKUs Service herein allows for submission and -verification of vendor specific proof of purchases. The receipt submission API -consumes a base64 encoded request body, and returns the vendor specific external -identifier if the embedded `raw_receipt` is valid. - -## Receipt Submission API - -The body structure of the receipt submission is a base64 encoded json payload as -shown in the two examples. Within the `skus-sdk` there is a `submit-receipt` method -which will take this base64 encoded json payload and perform a submission to the SKUs -API. The un-encoded json payload for the receipt submission API is shown below. - -```json -{ - "type":[android|ios], - "raw_receipt":"[raw receipt payload from vendor]", - "package":"[android package name of project]", // android only required - "subscription_id":"[android subscription name purchased]" // android only required -} -``` - -### Possible Responses - -- 400 - failed to decode id: id is not a uuid // the order uuid in url is not a valid uuid -- 400 - failed to decode id: id cannot be empty // the order uuid in url is empty -- 400 - failed to decode input base64 // the request data is not base64 encoded -- 400 - failed to decode input json // the b64 decoded payload sent is not json -- 400 - failed to validate structure // the payload json is not well formed -- 400 - failed to validate vendor // vendor in payload json is not ios or android -- 400 - purchase is still pending // vendor says this purchase is still pending, not paid yet -- 400 - purchase is deferred // vendor says this purchase is deferred -- 400 - purchase status unknown // unknown purchase status from vendor -- 400 - failed to verify subscription // vendor error verifying this subscription -- 400 - misconfigured client // issue with configuration on server -- 404 - order not found // the order does not exist -- 500 - failed to store status of order - -### Example Android Submission - -```bash -curl -XPOST https://payment.rewards.brave.software/v1/orders/submit-receipt \ --d'joiYW5kcm9pZCIsInJhd19yZWNla.......' -D - - -HTTP2 200 -Content-Type: application/json -... -{ - "externalId": "[receipt-data]", - "vendor": "android", -} -``` - -## Webhook API - -In order to get updated subscription information for various orders pushed from android we have -created a webhook which takes in the payload structure defined -[here](https://developer.android.com/google/play/billing/rtdn-reference) -and then perform a new validation on the existing receipt as per recommendations from the android -developer documentation. The receipt "externalId" metadata is stored on the order in order -for us to lookup which order the notification is referring to in order to validate the status -of said order and reset the internal status accordingly. - -The webhook routes are: - -``` -/v1/webhooks/android -```