UNPKG

@metamask/keyring-api

Version:
217 lines 11.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RejectRequestResponseStruct = exports.RejectRequestRequestStruct = exports.ApproveRequestResponseStruct = exports.ApproveRequestRequestStruct = exports.SubmitRequestResponseStruct = exports.SubmitRequestRequestStruct = exports.GetRequestResponseStruct = exports.GetRequestRequestStruct = exports.ListRequestsResponseStruct = exports.ListRequestsRequestStruct = exports.ExportAccountResponseStruct = exports.ExportAccountRequestStruct = exports.DeleteAccountResponseStruct = exports.DeleteAccountRequestStruct = exports.UpdateAccountResponseStruct = exports.UpdateAccountRequestStruct = exports.FilterAccountChainsResponseStruct = exports.FilterAccountChainsStruct = exports.ResolveAccountAddressResponseStruct = exports.ResolveAccountAddressRequestStruct = exports.GetAccountBalancesResponseStruct = exports.GetAccountBalancesRequestStruct = exports.ListAccountAssetsResponseStruct = exports.ListAccountAssetsRequestStruct = exports.ListAccountTransactionsResponseStruct = exports.ListAccountTransactionsRequestStruct = exports.DiscoverAccountsResponseStruct = exports.DiscoverAccountsRequestStruct = exports.CreateAccountResponseStruct = exports.CreateAccountRequestStruct = exports.GetAccountResponseStruct = exports.GetAccountRequestStruct = exports.ListAccountsResponseStruct = exports.ListAccountsRequestStruct = exports.KeyringRpcMethod = void 0; exports.isKeyringRpcMethod = isKeyringRpcMethod; const keyring_utils_1 = require("@metamask/keyring-utils"); const superstruct_1 = require("@metamask/superstruct"); const utils_1 = require("@metamask/utils"); const api_1 = require("./api/index.cjs"); /** * Keyring RPC methods used by the API. */ var KeyringRpcMethod; (function (KeyringRpcMethod) { KeyringRpcMethod["ListAccounts"] = "keyring_listAccounts"; KeyringRpcMethod["GetAccount"] = "keyring_getAccount"; KeyringRpcMethod["CreateAccount"] = "keyring_createAccount"; KeyringRpcMethod["DiscoverAccounts"] = "keyring_discoverAccounts"; KeyringRpcMethod["ListAccountAssets"] = "keyring_listAccountAssets"; KeyringRpcMethod["ListAccountTransactions"] = "keyring_listAccountTransactions"; KeyringRpcMethod["GetAccountBalances"] = "keyring_getAccountBalances"; KeyringRpcMethod["ResolveAccountAddress"] = "keyring_resolveAccountAddress"; KeyringRpcMethod["FilterAccountChains"] = "keyring_filterAccountChains"; KeyringRpcMethod["UpdateAccount"] = "keyring_updateAccount"; KeyringRpcMethod["DeleteAccount"] = "keyring_deleteAccount"; KeyringRpcMethod["ExportAccount"] = "keyring_exportAccount"; KeyringRpcMethod["ListRequests"] = "keyring_listRequests"; KeyringRpcMethod["GetRequest"] = "keyring_getRequest"; KeyringRpcMethod["SubmitRequest"] = "keyring_submitRequest"; KeyringRpcMethod["ApproveRequest"] = "keyring_approveRequest"; KeyringRpcMethod["RejectRequest"] = "keyring_rejectRequest"; })(KeyringRpcMethod || (exports.KeyringRpcMethod = KeyringRpcMethod = {})); /** * Check if a method is a keyring RPC method. * * @param method - Method to check. * @returns Whether the method is a keyring RPC method. */ function isKeyringRpcMethod(method) { return Object.values(KeyringRpcMethod).includes(method); } // ---------------------------------------------------------------------------- const CommonHeader = { jsonrpc: (0, superstruct_1.literal)('2.0'), id: (0, superstruct_1.union)([(0, superstruct_1.string)(), (0, superstruct_1.number)(), (0, superstruct_1.literal)(null)]), }; // ---------------------------------------------------------------------------- // List accounts exports.ListAccountsRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_listAccounts'), }); exports.ListAccountsResponseStruct = (0, superstruct_1.array)(api_1.KeyringAccountStruct); // ---------------------------------------------------------------------------- // Get account exports.GetAccountRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_getAccount'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.GetAccountResponseStruct = api_1.KeyringAccountStruct; // ---------------------------------------------------------------------------- // Create account exports.CreateAccountRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_createAccount'), params: (0, keyring_utils_1.object)({ options: (0, superstruct_1.record)((0, superstruct_1.string)(), utils_1.JsonStruct), }), }); exports.CreateAccountResponseStruct = api_1.KeyringAccountStruct; // ---------------------------------------------------------------------------- // Discover accounts exports.DiscoverAccountsRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_discoverAccounts'), params: (0, keyring_utils_1.object)({ scopes: (0, superstruct_1.array)(api_1.CaipChainIdStruct), entropySource: (0, superstruct_1.string)(), groupIndex: (0, superstruct_1.number)(), }), }); exports.DiscoverAccountsResponseStruct = (0, superstruct_1.array)(api_1.DiscoveredAccountStruct); // ---------------------------------------------------------------------------- // List account transactions exports.ListAccountTransactionsRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_listAccountTransactions'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, pagination: api_1.PaginationStruct, }), }); exports.ListAccountTransactionsResponseStruct = api_1.TransactionsPageStruct; // ---------------------------------------------------------------------------- // List account assets exports.ListAccountAssetsRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_listAccountAssets'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.ListAccountAssetsResponseStruct = (0, superstruct_1.array)(api_1.CaipAssetTypeOrIdStruct); // ---------------------------------------------------------------------------- // Get account balances exports.GetAccountBalancesRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)(`${KeyringRpcMethod.GetAccountBalances}`), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, assets: (0, superstruct_1.array)(api_1.CaipAssetTypeStruct), }), }); exports.GetAccountBalancesResponseStruct = (0, superstruct_1.record)(api_1.CaipAssetTypeStruct, api_1.BalanceStruct); // ---------------------------------------------------------------------------- // Resolve account address exports.ResolveAccountAddressRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_resolveAccountAddress'), params: (0, keyring_utils_1.object)({ scope: api_1.CaipChainIdStruct, request: keyring_utils_1.JsonRpcRequestStruct, }), }); exports.ResolveAccountAddressResponseStruct = (0, superstruct_1.nullable)((0, keyring_utils_1.object)({ address: api_1.CaipAccountIdStruct, })); // ---------------------------------------------------------------------------- // Filter account chains exports.FilterAccountChainsStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_filterAccountChains'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, chains: (0, superstruct_1.array)((0, superstruct_1.string)()), }), }); exports.FilterAccountChainsResponseStruct = (0, superstruct_1.array)((0, superstruct_1.string)()); // ---------------------------------------------------------------------------- // Update account exports.UpdateAccountRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_updateAccount'), params: (0, keyring_utils_1.object)({ account: api_1.KeyringAccountStruct, }), }); exports.UpdateAccountResponseStruct = (0, superstruct_1.literal)(null); // ---------------------------------------------------------------------------- // Delete account exports.DeleteAccountRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_deleteAccount'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.DeleteAccountResponseStruct = (0, superstruct_1.literal)(null); // ---------------------------------------------------------------------------- // Export account exports.ExportAccountRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_exportAccount'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.ExportAccountResponseStruct = api_1.KeyringAccountDataStruct; // ---------------------------------------------------------------------------- // List requests exports.ListRequestsRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_listRequests'), }); exports.ListRequestsResponseStruct = (0, superstruct_1.array)(api_1.KeyringRequestStruct); // ---------------------------------------------------------------------------- // Get request exports.GetRequestRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_getRequest'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.GetRequestResponseStruct = api_1.KeyringRequestStruct; // ---------------------------------------------------------------------------- // Submit request exports.SubmitRequestRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_submitRequest'), params: api_1.KeyringRequestStruct, }); exports.SubmitRequestResponseStruct = api_1.KeyringResponseStruct; // ---------------------------------------------------------------------------- // Approve request exports.ApproveRequestRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_approveRequest'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, data: (0, superstruct_1.record)((0, superstruct_1.string)(), utils_1.JsonStruct), }), }); exports.ApproveRequestResponseStruct = (0, superstruct_1.literal)(null); // ---------------------------------------------------------------------------- // Reject request exports.RejectRequestRequestStruct = (0, keyring_utils_1.object)({ ...CommonHeader, method: (0, superstruct_1.literal)('keyring_rejectRequest'), params: (0, keyring_utils_1.object)({ id: keyring_utils_1.UuidStruct, }), }); exports.RejectRequestResponseStruct = (0, superstruct_1.literal)(null); //# sourceMappingURL=rpc.cjs.map