UNPKG

@j0nnyboi/amman

Version:

A modern mandatory toolbelt to help test solana SDK libraries and apps on a locally running validator.

49 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ammanRelayRoutes = exports.AmmanRelayRoutes = exports.RELAY_METHODS = exports.RELAY_REST_PATH_LEN = exports.RELAY_REST_PATH = void 0; const amman_client_1 = require("@j0nnyboi/amman-client"); const ts_essentials_1 = require("ts-essentials"); exports.RELAY_REST_PATH = 'relay'; exports.RELAY_REST_PATH_LEN = exports.RELAY_REST_PATH.length; exports.RELAY_METHODS = ['POST', 'GET']; class AmmanRelayRoutes { constructor(rootUrl = amman_client_1.AMMAN_RELAY_URI) { this.rootUrl = rootUrl; } urlAndMethodForRequest(request) { const method = this.methodForRequest(request); return { method, url: `${this.rootUrl}/${exports.RELAY_REST_PATH}/${request}`, }; } methodForRequest(request) { switch (request) { case amman_client_1.MSG_GET_KNOWN_ADDRESS_LABELS: case amman_client_1.MSG_REQUEST_ACCOUNT_STATES: case amman_client_1.MSG_REQUEST_AMMAN_VERSION: case amman_client_1.MSG_REQUEST_VALIDATOR_PID: return 'GET'; case amman_client_1.MSG_UPDATE_ADDRESS_LABELS: case amman_client_1.MSG_REQUEST_ACCOUNT_STATES: case amman_client_1.MSG_REQUEST_ACCOUNT_SAVE: case amman_client_1.MSG_REQUEST_SNAPSHOT_SAVE: case amman_client_1.MSG_REQUEST_ACCOUNT_SAVE: case amman_client_1.MSG_REQUEST_STORE_KEYPAIR: case amman_client_1.MSG_REQUEST_LOAD_KEYPAIR: case amman_client_1.MSG_REQUEST_SET_ACCOUNT: case amman_client_1.MSG_REQUEST_LOAD_SNAPSHOT: case amman_client_1.MSG_REQUEST_RESTART_VALIDATOR: case amman_client_1.MSG_REQUEST_KILL_AMMAN: return 'POST'; default: throw new ts_essentials_1.UnreachableCaseError(request); } } } exports.AmmanRelayRoutes = AmmanRelayRoutes; function ammanRelayRoutes(rootUrl) { return new AmmanRelayRoutes(rootUrl); } exports.ammanRelayRoutes = ammanRelayRoutes; //# sourceMappingURL=routes.js.map