diff --git a/build/api/Dockerfile b/build/api/Dockerfile index a7c72a262..c7b2b87c4 100644 --- a/build/api/Dockerfile +++ b/build/api/Dockerfile @@ -20,7 +20,7 @@ COPY cmd/api cmd/api COPY internal internal WORKDIR $GOPATH/src/github.com/baking-bad/bcdhub/cmd/api/ -RUN go get github.com/swaggo/swag/cmd/swag +RUN go get github.com/swaggo/swag/cmd/swag@v1.7.0 RUN swag init --parseDependency --parseInternal --parseDepth 2 RUN go build -a -installsuffix cgo -o /go/bin/api . diff --git a/cmd/api/docs/docs.go b/cmd/api/docs/docs.go index 332125d38..a6fe28af3 100644 --- a/cmd/api/docs/docs.go +++ b/cmd/api/docs/docs.go @@ -57,7 +57,7 @@ var doc = `{ }, { "type": "string", - "description": "Comma-separated list of addresses (e.g. addr1,addr2,addr3)", + "description": "Comma-separated list of addresses (e.g. addr1,addr2,addr3), max 10 addresses", "name": "address", "in": "query" } @@ -177,6 +177,16 @@ var doc = `{ "name": "address", "in": "path", "required": true + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -240,6 +250,16 @@ var doc = `{ "name": "address", "in": "path", "required": true + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -377,7 +397,7 @@ var doc = `{ "in": "query" }, { - "maximum": 10, + "maximum": 50, "minimum": 0, "type": "integer", "description": "Requested count", @@ -399,6 +419,16 @@ var doc = `{ "description": "Field using for sorting", "name": "sort_by", "in": "query" + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -2061,6 +2091,85 @@ var doc = `{ } } }, + "/v1/contract/{network}/{address}/transfers": { + "get": { + "description": "Show contract` + "`" + `s tokens transfers.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "contract" + ], + "summary": "Show contract` + "`" + `s tokens transfers", + "operationId": "get-contract-transfers", + "parameters": [ + { + "type": "string", + "description": "Network", + "name": "network", + "in": "path", + "required": true + }, + { + "maxLength": 36, + "minLength": 36, + "type": "string", + "description": "KT address", + "name": "address", + "in": "path", + "required": true + }, + { + "maximum": 10, + "type": "integer", + "description": "Transfers count", + "name": "size", + "in": "query" + }, + { + "type": "integer", + "description": "Offset", + "name": "offset", + "in": "query" + }, + { + "type": "integer", + "description": "Token ID", + "name": "token_id", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handlers.TransferResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + } + } + } + }, "/v1/contract/{network}/{address}/views/execute": { "post": { "description": "Execute view of contracts metadata", @@ -3336,85 +3445,6 @@ var doc = `{ } } } - }, - "/v1/{network}/{address}/transfers": { - "get": { - "description": "Show contract` + "`" + `s tokens transfers.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "contract" - ], - "summary": "Show contract` + "`" + `s tokens transfers", - "operationId": "get-contract-transfers", - "parameters": [ - { - "type": "string", - "description": "Network", - "name": "network", - "in": "path", - "required": true - }, - { - "maxLength": 36, - "minLength": 36, - "type": "string", - "description": "KT address", - "name": "address", - "in": "path", - "required": true - }, - { - "maximum": 10, - "type": "integer", - "description": "Transfers count", - "name": "size", - "in": "query" - }, - { - "type": "integer", - "description": "Offset", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "description": "Token ID", - "name": "token_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/handlers.TransferResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - } - } - } } }, "definitions": { @@ -3478,6 +3508,10 @@ var doc = `{ }, "x-itemTitle": { "type": "string" + }, + "x-options": { + "type": "object", + "additionalProperties": true } } }, @@ -4106,10 +4140,18 @@ var doc = `{ "handlers.NetworkStats": { "type": "object", "properties": { + "contract_calls": { + "type": "integer", + "example": 100 + }, "contracts_count": { "type": "integer", "example": 10 }, + "fa_count": { + "type": "integer", + "example": 100 + }, "languages": { "type": "object", "additionalProperties": { @@ -4125,6 +4167,10 @@ var doc = `{ "items": { "$ref": "#/definitions/handlers.Protocol" } + }, + "unique_contracts": { + "type": "integer", + "example": 100 } } }, @@ -4997,6 +5043,12 @@ var doc = `{ "type": "string" } }, + "contract_tags": { + "type": "array", + "items": { + "type": "string" + } + }, "count": { "type": "integer" }, @@ -5061,6 +5113,10 @@ var doc = `{ "counter": { "type": "integer" }, + "entrypoint": { + "type": "string", + "x-nullable": true + }, "from": { "type": "string" }, diff --git a/cmd/api/docs/swagger.json b/cmd/api/docs/swagger.json index 2362a77eb..f360be6b8 100644 --- a/cmd/api/docs/swagger.json +++ b/cmd/api/docs/swagger.json @@ -39,7 +39,7 @@ }, { "type": "string", - "description": "Comma-separated list of addresses (e.g. addr1,addr2,addr3)", + "description": "Comma-separated list of addresses (e.g. addr1,addr2,addr3), max 10 addresses", "name": "address", "in": "query" } @@ -159,6 +159,16 @@ "name": "address", "in": "path", "required": true + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -222,6 +232,16 @@ "name": "address", "in": "path", "required": true + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -359,7 +379,7 @@ "in": "query" }, { - "maximum": 10, + "maximum": 50, "minimum": 0, "type": "integer", "description": "Requested count", @@ -381,6 +401,16 @@ "description": "Field using for sorting", "name": "sort_by", "in": "query" + }, + { + "enum": [ + "true", + "false" + ], + "type": "string", + "description": "Hide zero balances from response", + "name": "hide_empty", + "in": "query" } ], "responses": { @@ -2043,6 +2073,85 @@ } } }, + "/v1/contract/{network}/{address}/transfers": { + "get": { + "description": "Show contract`s tokens transfers.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "contract" + ], + "summary": "Show contract`s tokens transfers", + "operationId": "get-contract-transfers", + "parameters": [ + { + "type": "string", + "description": "Network", + "name": "network", + "in": "path", + "required": true + }, + { + "maxLength": 36, + "minLength": 36, + "type": "string", + "description": "KT address", + "name": "address", + "in": "path", + "required": true + }, + { + "maximum": 10, + "type": "integer", + "description": "Transfers count", + "name": "size", + "in": "query" + }, + { + "type": "integer", + "description": "Offset", + "name": "offset", + "in": "query" + }, + { + "type": "integer", + "description": "Token ID", + "name": "token_id", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handlers.TransferResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/handlers.Error" + } + } + } + } + }, "/v1/contract/{network}/{address}/views/execute": { "post": { "description": "Execute view of contracts metadata", @@ -3318,85 +3427,6 @@ } } } - }, - "/v1/{network}/{address}/transfers": { - "get": { - "description": "Show contract`s tokens transfers.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "contract" - ], - "summary": "Show contract`s tokens transfers", - "operationId": "get-contract-transfers", - "parameters": [ - { - "type": "string", - "description": "Network", - "name": "network", - "in": "path", - "required": true - }, - { - "maxLength": 36, - "minLength": 36, - "type": "string", - "description": "KT address", - "name": "address", - "in": "path", - "required": true - }, - { - "maximum": 10, - "type": "integer", - "description": "Transfers count", - "name": "size", - "in": "query" - }, - { - "type": "integer", - "description": "Offset", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "description": "Token ID", - "name": "token_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/handlers.TransferResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/handlers.Error" - } - } - } - } } }, "definitions": { @@ -3460,6 +3490,10 @@ }, "x-itemTitle": { "type": "string" + }, + "x-options": { + "type": "object", + "additionalProperties": true } } }, @@ -4088,10 +4122,18 @@ "handlers.NetworkStats": { "type": "object", "properties": { + "contract_calls": { + "type": "integer", + "example": 100 + }, "contracts_count": { "type": "integer", "example": 10 }, + "fa_count": { + "type": "integer", + "example": 100 + }, "languages": { "type": "object", "additionalProperties": { @@ -4107,6 +4149,10 @@ "items": { "$ref": "#/definitions/handlers.Protocol" } + }, + "unique_contracts": { + "type": "integer", + "example": 100 } } }, @@ -4979,6 +5025,12 @@ "type": "string" } }, + "contract_tags": { + "type": "array", + "items": { + "type": "string" + } + }, "count": { "type": "integer" }, @@ -5043,6 +5095,10 @@ "counter": { "type": "integer" }, + "entrypoint": { + "type": "string", + "x-nullable": true + }, "from": { "type": "string" }, diff --git a/cmd/api/docs/swagger.yaml b/cmd/api/docs/swagger.yaml index a3d5a7fc4..3cdd81db5 100644 --- a/cmd/api/docs/swagger.yaml +++ b/cmd/api/docs/swagger.yaml @@ -40,6 +40,9 @@ definitions: type: string x-itemTitle: type: string + x-options: + additionalProperties: true + type: object type: object ast.MiguelNode: properties: @@ -463,9 +466,15 @@ definitions: type: object handlers.NetworkStats: properties: + contract_calls: + example: 100 + type: integer contracts_count: example: 10 type: integer + fa_count: + example: 100 + type: integer languages: additionalProperties: type: integer @@ -477,6 +486,9 @@ definitions: items: $ref: '#/definitions/handlers.Protocol' type: array + unique_contracts: + example: 100 + type: integer type: object handlers.Operation: properties: @@ -1093,6 +1105,10 @@ definitions: items: type: string type: array + contract_tags: + items: + type: string + type: array count: type: integer description: @@ -1136,6 +1152,9 @@ definitions: type: string counter: type: integer + entrypoint: + type: string + x-nullable: true from: type: string from_alias: @@ -1446,60 +1465,6 @@ info: href: https://better-call.dev url: https://better-call.dev/img/logo_og.png paths: - /v1/{network}/{address}/transfers: - get: - consumes: - - application/json - description: Show contract`s tokens transfers. - operationId: get-contract-transfers - parameters: - - description: Network - in: path - name: network - required: true - type: string - - description: KT address - in: path - maxLength: 36 - minLength: 36 - name: address - required: true - type: string - - description: Transfers count - in: query - maximum: 10 - name: size - type: integer - - description: Offset - in: query - name: offset - type: integer - - description: Token ID - in: query - name: token_id - type: integer - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/handlers.TransferResponse' - "400": - description: Bad Request - schema: - $ref: '#/definitions/handlers.Error' - "404": - description: Not Found - schema: - $ref: '#/definitions/handlers.Error' - "500": - description: Internal Server Error - schema: - $ref: '#/definitions/handlers.Error' - summary: Show contract`s tokens transfers - tags: - - contract /v1/account/{network}: get: consumes: @@ -1512,7 +1477,8 @@ paths: name: network required: true type: string - - description: Comma-separated list of addresses (e.g. addr1,addr2,addr3) + - description: Comma-separated list of addresses (e.g. addr1,addr2,addr3), max + 10 addresses in: query name: address type: string @@ -1596,6 +1562,13 @@ paths: name: address required: true type: string + - description: Hide zero balances from response + enum: + - "true" + - "false" + in: query + name: hide_empty + type: string produces: - application/json responses: @@ -1640,6 +1613,13 @@ paths: name: address required: true type: string + - description: Hide zero balances from response + enum: + - "true" + - "false" + in: query + name: hide_empty + type: string produces: - application/json responses: @@ -1734,7 +1714,7 @@ paths: type: integer - description: Requested count in: query - maximum: 10 + maximum: 50 minimum: 0 name: size type: integer @@ -1749,6 +1729,13 @@ paths: in: query name: sort_by type: string + - description: Hide zero balances from response + enum: + - "true" + - "false" + in: query + name: hide_empty + type: string produces: - application/json responses: @@ -2884,6 +2871,60 @@ paths: summary: List token holders tags: - contract + /v1/contract/{network}/{address}/transfers: + get: + consumes: + - application/json + description: Show contract`s tokens transfers. + operationId: get-contract-transfers + parameters: + - description: Network + in: path + name: network + required: true + type: string + - description: KT address + in: path + maxLength: 36 + minLength: 36 + name: address + required: true + type: string + - description: Transfers count + in: query + maximum: 10 + name: size + type: integer + - description: Offset + in: query + name: offset + type: integer + - description: Token ID + in: query + name: token_id + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handlers.TransferResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/handlers.Error' + "404": + description: Not Found + schema: + $ref: '#/definitions/handlers.Error' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/handlers.Error' + summary: Show contract`s tokens transfers + tags: + - contract /v1/contract/{network}/{address}/views/execute: post: consumes: diff --git a/go.mod b/go.mod index b9a94da3a..1d744845a 100644 --- a/go.mod +++ b/go.mod @@ -15,8 +15,11 @@ require ( github.com/gin-contrib/cache v1.1.0 github.com/gin-contrib/cors v1.3.0 github.com/gin-gonic/gin v1.7.4 - github.com/go-openapi/spec v0.20.0 // indirect + github.com/go-openapi/jsonreference v0.19.6 // indirect + github.com/go-openapi/spec v0.20.3 // indirect + github.com/go-openapi/swag v0.19.15 // indirect github.com/go-playground/validator/v10 v10.9.0 + github.com/gofrs/uuid v4.0.0+incompatible // indirect github.com/golang/mock v1.4.4 github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.1.2 @@ -29,6 +32,7 @@ require ( github.com/karlseguin/expect v1.0.2-0.20190806010014-778a5f0c6003 // indirect github.com/lib/pq v1.9.0 github.com/machinebox/graphql v0.2.2 + github.com/mailru/easyjson v0.7.7 // indirect github.com/matryer/is v1.4.0 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/microcosm-cc/bluemonday v1.0.15 @@ -36,7 +40,7 @@ require ( github.com/rs/zerolog v1.15.0 github.com/schollz/progressbar/v3 v3.1.1 github.com/sergi/go-diff v1.1.0 - github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc + github.com/shopspring/decimal v1.2.0 github.com/stretchr/testify v1.7.0 github.com/swaggo/swag v1.7.0 github.com/tidwall/gjson v1.6.5 @@ -45,8 +49,10 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 github.com/yhirose/go-peg v0.0.0-20190710015414-7eb2cf046928 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 + golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b // indirect golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 // indirect golang.org/x/text v0.3.7 // indirect + golang.org/x/tools v0.1.6 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/yaml.v2 v2.4.0 gorm.io/driver/postgres v1.0.8 diff --git a/go.sum b/go.sum index e5d2792ff..62f951b89 100644 --- a/go.sum +++ b/go.sum @@ -256,6 +256,7 @@ github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -393,16 +394,19 @@ github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1 github.com/go-openapi/jsonreference v0.19.4/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/spec v0.19.14/go.mod h1:gwrgJS15eCUgjLpMjBJmbZezCsw88LmgeEip0M63doA= -github.com/go-openapi/spec v0.20.0 h1:HGLc8AJ7ynOxwv0Lq4TsnwLsWMawHAYiJIFzbcML86I= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= +github.com/go-openapi/spec v0.20.3 h1:uH9RQ6vdyPSs2pSy9fL8QPspDF2AMIMPtmK5coSSjtQ= +github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.11/go.mod h1:Uc0gKkdR+ojzsEpjh39QChyu92vPgIr72POcgHMAgSY= -github.com/go-openapi/swag v0.19.12 h1:Bc0bnY2c3AoF7Gc+IMIAQQsD8fLHjHpc19wXvYuayQI= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-pkgz/expirable-cache v0.0.3/go.mod h1:+IauqN00R2FqNRLCLA+X5YljQJrwB179PfiAoMPlTlQ= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -475,6 +479,8 @@ github.com/goccy/go-json v0.4.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGF github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0 h1:xU6/SpYbvkNYiptHJYEDRseDLvYE7wSqhYYNy0QSUzI= @@ -885,6 +891,8 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= @@ -1163,6 +1171,8 @@ github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= @@ -1291,6 +1301,7 @@ github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lP github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.5 h1:lNq9sAHXK2qfdI8W+GRItjCEkI+2oR4d+MEHy1CKXoU= github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= @@ -1332,6 +1343,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -1438,6 +1450,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 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= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1485,9 +1499,14 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b h1:eB48h3HiRycXNy8E0Gf5e0hv7YT6Kt14L/D73G1fuwo= +golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1512,6 +1531,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1584,11 +1605,13 @@ golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1600,6 +1623,7 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= 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 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= @@ -1716,6 +1740,8 @@ golang.org/x/tools v0.0.0-20210105210202-9ed45478a130/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210114065538-d78b04bdf963/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.6 h1:SIasE1FVIQOWz2GEAHFOmoW7xchJcqlucjSULTL0Ag4= +golang.org/x/tools v0.1.6/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= 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=