mirror of
https://github.com/grassrootseconomics/cic-custodial.git
synced 2024-11-10 17:26:46 +01:00
Mohamed Sohail
9e1d62a014
* wip: add transfer auithorization * feat: update transferAuthPayload * switch to MAX_INT for value and use revoke flag * tranfer handler: fix nonce rollback on EOA account * feat: switch to session based session transfer auth * Demurrage contracts require setting the approval value to 0 before updating the value after the initial limit is set * This implementation auto-revokes every 15 min after arequest is created. Subsequent requests will fail untill the value is set back to 0 * feat: settable approve session timeout
313 lines
10 KiB
Go
313 lines
10 KiB
Go
// Code generated by swaggo/swag. DO NOT EDIT.
|
|
|
|
package docs
|
|
|
|
import "github.com/swaggo/swag"
|
|
|
|
const docTemplate = `{
|
|
"schemes": {{ marshal .Schemes }},
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "{{escape .Description}}",
|
|
"title": "{{.Title}}",
|
|
"termsOfService": "https://grassecon.org/pages/terms-and-conditions.html",
|
|
"contact": {
|
|
"name": "API Support",
|
|
"url": "https://grassecon.org/pages/contact-us",
|
|
"email": "devops@grassecon.org"
|
|
},
|
|
"license": {
|
|
"name": "AGPL-3.0",
|
|
"url": "https://www.gnu.org/licenses/agpl-3.0.en.html"
|
|
},
|
|
"version": "{{.Version}}"
|
|
},
|
|
"host": "{{.Host}}",
|
|
"basePath": "{{.BasePath}}",
|
|
"paths": {
|
|
"/account/create": {
|
|
"post": {
|
|
"description": "Create a new custodial account.",
|
|
"consumes": [
|
|
"*/*"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"account"
|
|
],
|
|
"summary": "Create a new custodial account.",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.OkResp"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/account/status/{address}": {
|
|
"get": {
|
|
"description": "Return network balance and nonce.",
|
|
"consumes": [
|
|
"*/*"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"summary": "Get an address's network balance and nonce.",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Account Public Key",
|
|
"name": "address",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.OkResp"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/sign/transfer": {
|
|
"post": {
|
|
"description": "Sign and dispatch a transfer request.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"summary": "Sign and dispatch transfer request.",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign Transfer Request",
|
|
"name": "signTransferRequest",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
},
|
|
"voucherAddress": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.OkResp"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/sign/transferAuth": {
|
|
"post": {
|
|
"description": "Sign and dispatch a transfer authorization (approve) request.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"network"
|
|
],
|
|
"summary": "Sign and dispatch a transfer authorization (approve) request.",
|
|
"parameters": [
|
|
{
|
|
"description": "Sign Transfer Authorization (approve) Request",
|
|
"name": "signTransferAuthorzationRequest",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"authorizedAddress": {
|
|
"type": "string"
|
|
},
|
|
"authorizer": {
|
|
"type": "string"
|
|
},
|
|
"voucherAddress": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.OkResp"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/track/{trackingId}": {
|
|
"get": {
|
|
"description": "Track an OTX (Origin transaction) status.",
|
|
"consumes": [
|
|
"*/*"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"track"
|
|
],
|
|
"summary": "Track an OTX (Origin transaction) status.",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Tracking Id",
|
|
"name": "trackingId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.OkResp"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/api.ErrResp"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"api.ErrResp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"ok": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"api.H": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"api.OkResp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ok": {
|
|
"type": "boolean"
|
|
},
|
|
"result": {
|
|
"$ref": "#/definitions/api.H"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}`
|
|
|
|
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
|
var SwaggerInfo = &swag.Spec{
|
|
Version: "1.0",
|
|
Host: "",
|
|
BasePath: "/api",
|
|
Schemes: []string{},
|
|
Title: "CIC Custodial API",
|
|
Description: "Interact with CIC Custodial API",
|
|
InfoInstanceName: "swagger",
|
|
SwaggerTemplate: docTemplate,
|
|
LeftDelim: "{{",
|
|
RightDelim: "}}",
|
|
}
|
|
|
|
func init() {
|
|
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
|
}
|