diff options
Diffstat (limited to 'src/external/stellar-freighter-api/@shared/api')
3 files changed, 191 insertions, 0 deletions
diff --git a/src/external/stellar-freighter-api/@shared/api/external.d.ts b/src/external/stellar-freighter-api/@shared/api/external.d.ts new file mode 100644 index 0000000..9755ca4 --- /dev/null +++ b/src/external/stellar-freighter-api/@shared/api/external.d.ts @@ -0,0 +1,24 @@ +import { UserInfo } from "./types"; +export declare const requestPublicKey: () => Promise<string>; +export declare const submitTransaction: (transactionXdr: string, opts?: string | { + network?: string | undefined; + accountToSign?: string | undefined; + networkPassphrase?: string | undefined; +} | undefined, accountToSign?: string | undefined) => Promise<string>; +export declare const submitBlob: (blob: string, opts?: { + accountToSign?: string | undefined; +} | undefined) => Promise<string>; +export declare const submitAuthEntry: (entryXdr: string, opts?: { + accountToSign?: string | undefined; +} | undefined) => Promise<string>; +export declare const requestNetwork: () => Promise<string>; +export declare const requestNetworkDetails: () => Promise<{ + network: string; + networkUrl: string; + networkPassphrase: string; + sorobanRpcUrl?: string | undefined; +}>; +export declare const requestConnectionStatus: () => Promise<boolean>; +export declare const requestAllowedStatus: () => Promise<boolean>; +export declare const setAllowedStatus: () => Promise<boolean>; +export declare const requestUserInfo: () => Promise<UserInfo>; diff --git a/src/external/stellar-freighter-api/@shared/api/helpers/extensionMessaging.d.ts b/src/external/stellar-freighter-api/@shared/api/helpers/extensionMessaging.d.ts new file mode 100644 index 0000000..1aed2d8 --- /dev/null +++ b/src/external/stellar-freighter-api/@shared/api/helpers/extensionMessaging.d.ts @@ -0,0 +1,9 @@ +import { EXTERNAL_SERVICE_TYPES, SERVICE_TYPES } from "../../constants/services"; +import { Response } from "../types"; +interface Msg { + [key: string]: any; + type: EXTERNAL_SERVICE_TYPES | SERVICE_TYPES; +} +export declare const sendMessageToContentScript: (msg: Msg) => Promise<Response>; +export declare const sendMessageToBackground: (msg: Msg) => Promise<Response>; +export {}; diff --git a/src/external/stellar-freighter-api/@shared/api/types.d.ts b/src/external/stellar-freighter-api/@shared/api/types.d.ts new file mode 100644 index 0000000..be44b6a --- /dev/null +++ b/src/external/stellar-freighter-api/@shared/api/types.d.ts @@ -0,0 +1,158 @@ +import BigNumber from "bignumber.js"; +import { Horizon } from "stellar-sdk"; +import { Types } from "@stellar/wallet-sdk"; +import { SERVICE_TYPES, EXTERNAL_SERVICE_TYPES } from "../constants/services"; +import { APPLICATION_STATE } from "../constants/applicationState"; +import { WalletType } from "../constants/hardwareWallet"; +import { NetworkDetails } from "../constants/stellar"; +export declare enum ActionStatus { + IDLE = "IDLE", + PENDING = "PENDING", + SUCCESS = "SUCCESS", + ERROR = "ERROR" +} +export interface UserInfo { + publicKey: string; +} +export interface Response { + error: string; + messagedId: number; + applicationState: APPLICATION_STATE; + publicKey: string; + privateKey: string; + hasPrivateKey: boolean; + mnemonicPhrase: string; + isCorrectPhrase: boolean; + confirmedPassword: boolean; + password: string; + mnemonicPhraseToConfirm: string; + recoverMnemonic: string; + transaction: { + sign: (sourceKeys: {}) => void; + }; + transactionXDR: string; + signedTransaction: string; + signedBlob: string; + signedAuthEntry: string; + source: string; + type: SERVICE_TYPES; + url: string; + isDataSharingAllowed: boolean; + isTestnet: boolean; + isMemoValidationEnabled: boolean; + isSafetyValidationEnabled: boolean; + isValidatingSafeAssetsEnabled: boolean; + isExperimentalModeEnabled: boolean; + networkDetails: NetworkDetails; + sorobanRpcUrl: string; + networksList: NetworkDetails[]; + allAccounts: Array<Account>; + accountName: string; + assetCode: string; + assetCanonical: string; + iconUrl: string; + network: string; + networkIndex: number; + networkName: string; + recentAddresses: Array<string>; + hardwareWalletType: WalletType; + bipPath: string; + blockedDomains: BlockedDomains; + blockedAccounts: BlockedAccount[]; + assetDomain: string; + contractId: string; + tokenId: string; + tokenIdList: string[]; + isConnected: boolean; + isAllowed: boolean; + userInfo: UserInfo; + allowList: string[]; +} +export interface BlockedDomains { + [key: string]: boolean; +} +export interface BlockedAccount { + address: string; + name: string; + domain: string | null; + tags: string[]; +} +export interface ExternalRequestBase { + network: string; + networkPassphrase: string; + accountToSign: string; + type: EXTERNAL_SERVICE_TYPES; +} +export interface ExternalRequestTx extends ExternalRequestBase { + transactionXdr: string; +} +export interface ExternalRequestBlob extends ExternalRequestBase { + blob: string; +} +export interface ExternalRequestAuthEntry extends ExternalRequestBase { + entryXdr: string; +} +export declare type ExternalRequest = ExternalRequestTx | ExternalRequestBlob | ExternalRequestAuthEntry; +export interface Account { + publicKey: string; + name: string; + imported: boolean; + hardwareWalletType?: WalletType; +} +export declare enum AccountType { + HW = "HW", + IMPORTED = "IMPORTED", + FREIGHTER = "FREIGHTER" +} +export interface Preferences { + isDataSharingAllowed: boolean; + isMemoValidationEnabled: boolean; + isSafetyValidationEnabled: boolean; + isValidatingSafeAssetsEnabled: boolean; + networksList: NetworkDetails[]; + error: string; + isExperimentalModeEnabled: boolean; +} +export declare type Settings = { + allowList: string[]; + networkDetails: NetworkDetails; + networksList: NetworkDetails[]; + error: string; +} & Preferences; +export interface AssetIcons { + [code: string]: string; +} +export interface AssetDomains { + [code: string]: string; +} +export declare type Balances = Types.BalanceMap | null; +export interface SorobanBalance { + contractId: string; + total: BigNumber; + name: string; + symbol: string; + decimals: number; +} +export declare type AssetType = Types.AssetBalance | Types.NativeBalance | SorobanBalance; +export declare type TokenBalances = SorobanBalance[]; +export declare type HorizonOperation = any; +export interface AccountBalancesInterface { + balances: Balances; + isFunded: boolean | null; + subentryCount: number; +} +export interface AccountHistoryInterface { + operations: Array<HorizonOperation> | []; +} +export interface ErrorMessage { + errorMessage: string; + response?: Horizon.ErrorResponseData.TransactionFailed; +} +declare global { + interface Window { + freighter: boolean; + freighterApi: { + [key: string]: any; + }; + } +} |