Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cantonfoundation-add-app-development-module-579.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The contents of this file was generated by the following command:
npx @canton-network/wallet-gateway-remote@latest --config-schema
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
        "kernel": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "publicUrl": {
                    "description": "The public base URL of the gateway, if available (e.g. https://wallet.example.com). This determines what browsers will try to use to connect, and is useful when using reverse proxies. If omitted, this will be derived from the server configuration.",
                    "type": "string"
                },
                "clientType": {
                    "anyOf": [
                        {
                            "type": "string",
                            "const": "browser"
                        },
                        {
                            "type": "string",
                            "const": "desktop"
                        },
                        {
                            "type": "string",
                            "const": "mobile"
                        },
                        {
                            "type": "string",
                            "const": "remote"
                        }
                    ]
                }
            },
            "required": ["id", "clientType"],
            "additionalProperties": false
        },
        "server": {
            "type": "object",
            "properties": {
                "port": {
                    "default": 3030,
                    "description": "The port on which the NodeJS service will listen. Defaults to 3030.",
                    "type": "number"
                },
                "dappPath": {
                    "default": "/api/v0/dapp",
                    "description": "The path serving the dapp API. Defaults /api/v0/dapp",
                    "type": "string"
                },
                "userPath": {
                    "default": "/api/v0/user",
                    "description": "The path serving the user API. Defaults /api/v0/user",
                    "type": "string"
                },
                "allowedOrigins": {
                    "default": "*",
                    "description": "Allowed CORS origins, typically corresponding to which external dApps are allowed to connect. Use \"*\" to allow all origins, or set an array of origin strings.",
                    "anyOf": [
                        {
                            "type": "string",
                            "const": "*"
                        },
                        {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    ]
                },
                "host": {
                    "deprecated": true,
                    "description": "The host interface the server binds to. Deprecated as the service always binds to the local machine network interface. Will be removed in a future release.",
                    "type": "string"
                },
                "tls": {
                    "deprecated": true,
                    "description": "Deprecated, this option no longer has any effect. Will be removed in a future release.",
                    "type": "boolean"
                },
                "requestSizeLimit": {
                    "default": "1mb",
                    "description": "The maximum size of incoming requests. Defaults to 1mb.",
                    "type": "string"
                },
                "requestRateLimit": {
                    "default": 10000,
                    "description": "The maximum number of requests per minute from a single IP address. Defaults to 10000.",
                    "type": "number"
                },
                "trustProxy": {
                    "default": false,
                    "description": "Express trust proxy setting used to resolve client IP addresses when running behind reverse proxies/load balancers. Set this correctly in production (for example 1 for a single trusted proxy hop). Defaults to false.",
                    "anyOf": [
                        {
                            "type": "boolean"
                        },
                        {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                        },
                        {
                            "type": "string"
                        }
                    ]
                },
                "admin": {
                    "description": "The JWT claim (e.g. \"sub\") identifying the admin user. If set, requests with a matching claim will be granted admin privileges.",
                    "type": "string"
                }
            },
            "required": [
                "port",
                "dappPath",
                "userPath",
                "allowedOrigins",
                "requestSizeLimit",
                "requestRateLimit",
                "trustProxy"
            ],
            "additionalProperties": false
        },
        "logging": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "The log level for the gateway. If omitted, defaults to info.",
                    "type": "string",
                    "enum": ["trace", "debug", "info", "warn", "error", "fatal"]
                },
                "format": {
                    "description": "The log format for the gateway. If omitted, defaults to pretty.",
                    "type": "string",
                    "enum": ["json", "pretty"]
                }
            },
            "additionalProperties": false,
            "description": "Optional logging configuration. If omitted, defaults will be used."
        },
        "store": {
            "type": "object",
            "properties": {
                "connection": {
                    "oneOf": [
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "memory"
                                }
                            },
                            "required": ["type"],
                            "additionalProperties": false
                        },
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "sqlite"
                                },
                                "database": {
                                    "type": "string"
                                }
                            },
                            "required": ["type", "database"],
                            "additionalProperties": false
                        },
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "postgres"
                                },
                                "host": {
                                    "type": "string"
                                },
                                "port": {
                                    "type": "number"
                                },
                                "user": {
                                    "type": "string"
                                },
                                "password": {
                                    "type": "string"
                                },
                                "database": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "type",
                                "host",
                                "port",
                                "user",
                                "password",
                                "database"
                            ],
                            "additionalProperties": false
                        }
                    ]
                }
            },
            "required": ["connection"],
            "additionalProperties": false
        },
        "signingStore": {
            "type": "object",
            "properties": {
                "connection": {
                    "oneOf": [
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "memory"
                                }
                            },
                            "required": ["type"],
                            "additionalProperties": false
                        },
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "sqlite"
                                },
                                "database": {
                                    "type": "string"
                                }
                            },
                            "required": ["type", "database"],
                            "additionalProperties": false
                        },
                        {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "const": "postgres"
                                },
                                "host": {
                                    "type": "string"
                                },
                                "port": {
                                    "type": "number"
                                },
                                "user": {
                                    "type": "string"
                                },
                                "password": {
                                    "type": "string"
                                },
                                "database": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "type",
                                "host",
                                "port",
                                "user",
                                "password",
                                "database"
                            ],
                            "additionalProperties": false
                        }
                    ]
                }
            },
            "required": ["connection"],
            "additionalProperties": false
        },
        "bootstrap": {
            "type": "object",
            "properties": {
                "idps": {
                    "type": "array",
                    "items": {
                        "oneOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "const": "self_signed"
                                    },
                                    "issuer": {
                                        "type": "string"
                                    }
                                },
                                "required": ["id", "type", "issuer"],
                                "additionalProperties": false
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "const": "oauth"
                                    },
                                    "issuer": {
                                        "type": "string"
                                    },
                                    "configUrl": {
                                        "type": "string",
                                        "format": "uri"
                                    }
                                },
                                "required": [
                                    "id",
                                    "type",
                                    "issuer",
                                    "configUrl"
                                ],
                                "additionalProperties": false
                            }
                        ]
                    }
                },
                "networks": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "synchronizerId": {
                                "type": "string",
                                "minLength": 10,
                                "pattern": "::"
                            },
                            "identityProviderId": {
                                "type": "string"
                            },
                            "ledgerApi": {
                                "type": "object",
                                "properties": {
                                    "baseUrl": {
                                        "type": "string",
                                        "format": "uri"
                                    }
                                },
                                "required": ["baseUrl"],
                                "additionalProperties": false
                            },
                            "auth": {
                                "anyOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "authorization_code"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId"
                                                ],
                                                "additionalProperties": false,
                                                "description": "Authorization code flow authentication configuration. This is used for browser-based application login."
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "client_credentials"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecret": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecret"
                                                ],
                                                "additionalProperties": false
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "self_signed"
                                                    },
                                                    "issuer": {
                                                        "type": "string"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecret": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "issuer",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecret"
                                                ],
                                                "additionalProperties": false
                                            }
                                        ]
                                    },
                                    {
                                        "oneOf": [
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "authorization_code"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId"
                                                ],
                                                "additionalProperties": false,
                                                "description": "Authorization code flow authentication configuration. This is used for browser-based application login."
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "client_credentials"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecretEnv": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecretEnv"
                                                ],
                                                "additionalProperties": false
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "self_signed"
                                                    },
                                                    "issuer": {
                                                        "type": "string"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecretEnv": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "issuer",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecretEnv"
                                                ],
                                                "additionalProperties": false
                                            }
                                        ]
                                    }
                                ]
                            },
                            "adminAuth": {
                                "anyOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "authorization_code"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId"
                                                ],
                                                "additionalProperties": false,
                                                "description": "Authorization code flow authentication configuration. This is used for browser-based application login."
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "client_credentials"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecret": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecret"
                                                ],
                                                "additionalProperties": false
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "self_signed"
                                                    },
                                                    "issuer": {
                                                        "type": "string"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecret": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "issuer",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecret"
                                                ],
                                                "additionalProperties": false
                                            }
                                        ]
                                    },
                                    {
                                        "oneOf": [
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "authorization_code"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId"
                                                ],
                                                "additionalProperties": false,
                                                "description": "Authorization code flow authentication configuration. This is used for browser-based application login."
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "client_credentials"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecretEnv": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecretEnv"
                                                ],
                                                "additionalProperties": false
                                            },
                                            {
                                                "type": "object",
                                                "properties": {
                                                    "method": {
                                                        "type": "string",
                                                        "const": "self_signed"
                                                    },
                                                    "issuer": {
                                                        "type": "string"
                                                    },
                                                    "audience": {
                                                        "type": "string"
                                                    },
                                                    "scope": {
                                                        "type": "string"
                                                    },
                                                    "clientId": {
                                                        "type": "string"
                                                    },
                                                    "clientSecretEnv": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "method",
                                                    "issuer",
                                                    "audience",
                                                    "scope",
                                                    "clientId",
                                                    "clientSecretEnv"
                                                ],
                                                "additionalProperties": false
                                            }
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "description",
                            "identityProviderId",
                            "ledgerApi",
                            "auth"
                        ],
                        "additionalProperties": false
                    }
                }
            },
            "required": ["idps", "networks"],
            "additionalProperties": false
        }
    },
    "required": ["kernel", "server", "store", "signingStore", "bootstrap"],
    "additionalProperties": false
}