mirror of
https://github.com/grassrootseconomics/cic-custodial.git
synced 2024-11-24 23:06:47 +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
189 lines
4.7 KiB
YAML
189 lines
4.7 KiB
YAML
basePath: /api
|
|
definitions:
|
|
api.ErrResp:
|
|
properties:
|
|
message:
|
|
type: string
|
|
ok:
|
|
type: boolean
|
|
type: object
|
|
api.H:
|
|
additionalProperties: {}
|
|
type: object
|
|
api.OkResp:
|
|
properties:
|
|
ok:
|
|
type: boolean
|
|
result:
|
|
$ref: '#/definitions/api.H'
|
|
type: object
|
|
info:
|
|
contact:
|
|
email: devops@grassecon.org
|
|
name: API Support
|
|
url: https://grassecon.org/pages/contact-us
|
|
description: Interact with CIC Custodial API
|
|
license:
|
|
name: AGPL-3.0
|
|
url: https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
termsOfService: https://grassecon.org/pages/terms-and-conditions.html
|
|
title: CIC Custodial API
|
|
version: "1.0"
|
|
paths:
|
|
/account/create:
|
|
post:
|
|
consumes:
|
|
- '*/*'
|
|
description: Create a new custodial account.
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.OkResp'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.ErrResp'
|
|
summary: Create a new custodial account.
|
|
tags:
|
|
- account
|
|
/account/status/{address}:
|
|
get:
|
|
consumes:
|
|
- '*/*'
|
|
description: Return network balance and nonce.
|
|
parameters:
|
|
- description: Account Public Key
|
|
in: path
|
|
name: address
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
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'
|
|
summary: Get an address's network balance and nonce.
|
|
tags:
|
|
- network
|
|
/sign/transfer:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Sign and dispatch a transfer request.
|
|
parameters:
|
|
- description: Sign Transfer Request
|
|
in: body
|
|
name: signTransferRequest
|
|
required: true
|
|
schema:
|
|
properties:
|
|
amount:
|
|
type: integer
|
|
from:
|
|
type: string
|
|
to:
|
|
type: string
|
|
voucherAddress:
|
|
type: string
|
|
type: object
|
|
produces:
|
|
- application/json
|
|
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'
|
|
summary: Sign and dispatch transfer request.
|
|
tags:
|
|
- network
|
|
/sign/transferAuth:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Sign and dispatch a transfer authorization (approve) request.
|
|
parameters:
|
|
- description: Sign Transfer Authorization (approve) Request
|
|
in: body
|
|
name: signTransferAuthorzationRequest
|
|
required: true
|
|
schema:
|
|
properties:
|
|
amount:
|
|
type: integer
|
|
authorizedAddress:
|
|
type: string
|
|
authorizer:
|
|
type: string
|
|
voucherAddress:
|
|
type: string
|
|
type: object
|
|
produces:
|
|
- application/json
|
|
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'
|
|
summary: Sign and dispatch a transfer authorization (approve) request.
|
|
tags:
|
|
- network
|
|
/track/{trackingId}:
|
|
get:
|
|
consumes:
|
|
- '*/*'
|
|
description: Track an OTX (Origin transaction) status.
|
|
parameters:
|
|
- description: Tracking Id
|
|
in: path
|
|
name: trackingId
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
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'
|
|
summary: Track an OTX (Origin transaction) status.
|
|
tags:
|
|
- track
|
|
swagger: "2.0"
|