@circle-fin/w3s-pw-react-native-sdk
Version:
React Native SDK for Circle Programmable Wallet
372 lines • 18.7 kB
TypeScript
import type { ImageSourcePropType } from 'react-native/Libraries/Image/Image';
export interface IWalletSdk {
sdkVersion: SdkVersion;
deviceId: string;
init: (configuration: Configuration) => Promise<void>;
setSecurityQuestions: (securityQuestions: SecurityQuestion[]) => void;
addListener: (listener: EventListener) => void;
removeAllListeners: () => void;
getDeviceId: () => string;
execute: (userToken: string, encryptionKey: string, challengeIds: string[], successCallback: SuccessCallback, errorCallback: ErrorCallback) => void;
setBiometricsPin: (userToken: string, encryptionKey: string, successCallback: SuccessCallback, errorCallback: ErrorCallback) => void;
performLogin: (provider: SocialProvider, deviceToken: string, deviceEncryptionKey: string, successCallback: LoginSuccessCallback, errorCallback: ErrorCallback) => void;
verifyOTP: (otpToken: string, deviceToken: string, deviceEncryptionKey: string, successCallback: LoginSuccessCallback, errorCallback: ErrorCallback) => void;
performLogout: (provider: SocialProvider, completeCallback: CompleteCallback, errorCallback: ErrorCallback) => void;
setDismissOnCallbackMap: (map: Map<ErrorCode, boolean>) => void;
moveTaskToFront: () => void;
moveRnTaskToFront: () => void;
setTextConfigsMap: (map: Map<TextsKey, TextConfig[]>) => void;
setIconTextConfigsMap: (map: Map<IconTextsKey, Array<IconTextConfig>>) => void;
setTextConfigMap: (map: Map<TextKey, TextConfig>) => void;
setImageMap: (map: Map<ImageKey, ImageSourcePropType>) => void;
setDateFormat: (format: DateFormat) => void;
setDebugging: (debugging: boolean) => void;
setCustomUserAgent: (userAgent: string) => void;
setErrorStringMap: (map: Map<ErrorCode, string>) => void;
}
export declare enum TextsKey {
newPinCodeHeadline = "newPinCodeHeadline",
enterPinCodeHeadline = "enterPinCodeHeadline",
securityIntroHeadline = "securityIntroHeadline",
securityIntroLink = "securityIntroLink",
securityQuestionHeaders = "securityQuestionHeaders",
securitySummaryQuestionHeaders = "securitySummaryQuestionHeaders",
recoverPinCodeHeadline = "recoverPinCodeHeadline"
}
export declare enum IconTextsKey {
securityConfirmationItems = "securityConfirmationItems"
}
export declare enum TextKey {
circlepw_continue = "circlepw_continue",
circlepw_next = "circlepw_next",
circlepw_skip = "circlepw_skip",
circlepw_question_label = "circlepw_question_label",
circlepw_answer_label = "circlepw_answer_label",
circlepw_hint_label = "circlepw_hint_label",
circlepw_hint_tag = "circlepw_hint_tag",
circlepw_confirm = "circlepw_confirm",
circlepw_pin_remain_attemps_template = "circlepw_pin_remain_attemps_template",
circlepw_pin_lock_period_template = "circlepw_pin_lock_period_template",
circlepw_answer_remain_attemps_template = "circlepw_answer_remain_attemps_template",
circlepw_answer_lock_period_template = "circlepw_answer_lock_period_template",
circlepw_pin_digit_config = "circlepw_pin_digit_config",
circlepw_pincode_error_config = "circlepw_pincode_error_config",
circlepw_enter_pincode_subhead = "circlepw_enter_pincode_subhead",
circlepw_enter_pincode_forgot_pin = "circlepw_enter_pincode_forgot_pin",
circlepw_enter_pincode_use_biometrics = "circlepw_enter_pincode_use_biometrics",
circlepw_new_pincode_subhead = "circlepw_new_pincode_subhead",
circlepw_confirm_pincode_headline = "circlepw_confirm_pincode_headline",
circlepw_confirm_pincode_subhead = "circlepw_confirm_pincode_subhead",
circlepw_security_intros_description = "circlepw_security_intros_description",
circlepw_security_questions_title = "circlepw_security_questions_title",
circlepw_security_questions_required_mark = "circlepw_security_questions_required_mark",
circlepw_security_questions_question_placeholder = "circlepw_security_questions_question_placeholder",
circlepw_security_questions_answer_header = "circlepw_security_questions_answer_header",
circlepw_security_questions_answer_placeholder = "circlepw_security_questions_answer_placeholder",
circlepw_security_questions_answer_hint_header = "circlepw_security_questions_answer_hint_header",
circlepw_security_questions_answer_hint_placeholder = "circlepw_security_questions_answer_hint_placeholder",
circlepw_security_questions_answer_input_config = "circlepw_security_questions_answer_input_config",
circlepw_security_questions_answer_hint_input_config = "circlepw_security_questions_answer_hint_input_config",
circlepw_security_questions_question_input_config = "circlepw_security_questions_question_input_config",
circlepw_security_questions_error_config = "circlepw_security_questions_error_config",
circlepw_select_question_title = "circlepw_select_question_title",
circlepw_select_question_item_config = "circlepw_select_question_item_config",
circlepw_security_summary_title = "circlepw_security_summary_title",
circlepw_security_summary_question_value_config = "circlepw_security_summary_question_value_config",
circlepw_security_summary_answer_value_config = "circlepw_security_summary_answer_value_config",
circlepw_security_summary_hint_value_config = "circlepw_security_summary_hint_value_config",
circlepw_security_confirm_title = "circlepw_security_confirm_title",
circlepw_security_confirm_headline = "circlepw_security_confirm_headline",
circlepw_security_confirm_input_headline = "circlepw_security_confirm_input_headline",
circlepw_security_confirm_input_config = "circlepw_security_confirm_input_config",
circlepw_security_confirm_input_placeholder = "circlepw_security_confirm_input_placeholder",
circlepw_security_confirm_input_match = "circlepw_security_confirm_input_match",
circlepw_recover_pincode_answer_input_header = "circlepw_recover_pincode_answer_input_header",
circlepw_recover_pincode_answer_input_placeholder = "circlepw_recover_pincode_answer_input_placeholder",
circlepw_recover_pincode_input_config = "circlepw_recover_pincode_input_config",
circlepw_recover_pincode_answer_hint_config = "circlepw_recover_pincode_answer_hint_config",
circlepw_recover_pincode_error_config = "circlepw_recover_pincode_error_config",
circlepw_recover_pincode_question_config = "circlepw_recover_pincode_question_config",
circlepw_pin_biometrics_allow_title = "circlepw_pin_biometrics_allow_title",
circlepw_pin_biometrics_allow_subtitle = "circlepw_pin_biometrics_allow_subtitle",
circlepw_pin_biometrics_disable = "circlepw_pin_biometrics_disable",
circlepw_pin_biometrics_encrypt_title = "circlepw_pin_biometrics_encrypt_title",
circlepw_pin_biometrics_encrypt_subtitle = "circlepw_pin_biometrics_encrypt_subtitle",
circlepw_pin_biometrics_encrypt_desc = "circlepw_pin_biometrics_encrypt_desc",
circlepw_pin_biometrics_encrypt_negative_text = "circlepw_pin_biometrics_encrypt_negative_text",
circlepw_pin_biometrics_decrypt_title = "circlepw_pin_biometrics_decrypt_title",
circlepw_pin_biometrics_decrypt_subtitle = "circlepw_pin_biometrics_decrypt_subtitle",
circlepw_pin_biometrics_decrypt_desc = "circlepw_pin_biometrics_decrypt_desc",
circlepw_pin_biometrics_decrypt_negative_text = "circlepw_pin_biometrics_decrypt_negative_text",
circlepw_pin_biometrics_update_title = "circlepw_pin_biometrics_update_title",
circlepw_pin_biometrics_update_subtitle = "circlepw_pin_biometrics_update_subtitle",
circlepw_alert_pop_window_title = "circlepw_alert_pop_window_title",
circlepw_alert_pop_window_description_config = "circlepw_alert_pop_window_description_config",
circlepw_alert_pop_window_confirm = "circlepw_alert_pop_window_confirm",
circlepw_swipe_confirm_headline = "circlepw_swipe_confirm_headline",
circlepw_swipe_confirm_subhead = "circlepw_swipe_confirm_subhead",
circlepw_swipe_to_confirm = "circlepw_swipe_to_confirm",
circlepw_swipe_bt_confirming = "circlepw_swipe_bt_confirming",
circlepw_swipe_bt_confirmed = "circlepw_swipe_bt_confirmed",
circlepw_swipe_bt_try_again = "circlepw_swipe_bt_try_again",
circlepw_transaction_request_title = "circlepw_transaction_request_title",
circlepw_transaction_request_subtitle = "circlepw_transaction_request_subtitle",
circlepw_transaction_request_main_currency = "circlepw_transaction_request_main_currency",
circlepw_transaction_request_exchange_value = "circlepw_transaction_request_exchange_value",
circlepw_transaction_request_from_label = "circlepw_transaction_request_from_label",
circlepw_transaction_request_from = "circlepw_transaction_request_from",
circlepw_transaction_request_to_label = "circlepw_transaction_request_to_label",
circlepw_transaction_request_to_config = "circlepw_transaction_request_to_config",
circlepw_transaction_request_to_contract_name = "circlepw_transaction_request_to_contract_name",
circlepw_transaction_request_to_contract_url = "circlepw_transaction_request_to_contract_url",
circlepw_transaction_request_network_fee_label = "circlepw_transaction_request_network_fee_label",
circlepw_transaction_request_network_fee = "circlepw_transaction_request_network_fee",
circlepw_transaction_request_exchange_network_fee = "circlepw_transaction_request_exchange_network_fee",
circlepw_transaction_request_total_label = "circlepw_transaction_request_total_label",
circlepw_transaction_request_total_config = "circlepw_transaction_request_total_config",
circlepw_transaction_request_exchange_total_value = "circlepw_transaction_request_exchange_total_value",
circlepw_transaction_request_error_config = "circlepw_transaction_request_error_config",
circlepw_transaction_request_fee_tip = "circlepw_transaction_request_fee_tip",
circlepw_contract_interaction_contract_address_label = "circlepw_contract_interaction_contract_address_label",
circlepw_contract_interaction_contract_address_config = "circlepw_contract_interaction_contract_address_config",
circlepw_contract_interaction_data_details = "circlepw_contract_interaction_data_details",
circlepw_contract_interaction_abi_function_label = "circlepw_contract_interaction_abi_function_label",
circlepw_contract_interaction_abi_function_config = "circlepw_contract_interaction_abi_function_config",
circlepw_contract_interaction_abi_parameter_label = "circlepw_contract_interaction_abi_parameter_label",
circlepw_contract_interaction_call_data_label = "circlepw_contract_interaction_call_data_label",
circlepw_contract_interaction_call_data_config = "circlepw_contract_interaction_call_data_config",
circlepw_transaction_request_raw_tx_description = "circlepw_transaction_request_raw_tx_description",
circlepw_transaction_request_raw_tx_config = "circlepw_transaction_request_raw_tx_config",
circlepw_signature_request_title = "circlepw_signature_request_title",
circlepw_signature_request_contract_name = "circlepw_signature_request_contract_name",
circlepw_signature_request_contract_url = "circlepw_signature_request_contract_url",
circlepw_signature_request_subtitle = "circlepw_signature_request_subtitle",
circlepw_signature_request_description = "circlepw_signature_request_description",
circlepw_signature_request_msg_config = "circlepw_signature_request_msg_config",
circlepw_sign = "circlepw_sign",
circlepw_try_again = "circlepw_try_again",
circlepw_email_otp_title = "circlepw_email_otp_title",
circlepw_email_otp_description = "circlepw_email_otp_description",
circlepw_email_otp_email = "circlepw_email_otp_email",
circlepw_email_otp_head_config = "circlepw_email_otp_head_config",
circlepw_email_otp_dash = "circlepw_email_otp_dash",
circlepw_email_otp_send_again_hint = "circlepw_email_otp_send_again_hint",
circlepw_email_otp_send_again = "circlepw_email_otp_send_again"
}
export declare enum ImageKey {
naviBack = "back",
naviClose = "close",
securityIntroMain = "securityIntroMain",
selectCheckMark = "selectCheckMark",
dropdownArrow = "dropdownArrow",
errorInfo = "errorInfo",
securityConfirmMain = "securityConfirmMain",
biometricsAllowMain = "biometricsAllowMain",
showPin = "showPin",
hidePin = "hidePin",
alertWindowIcon = "alertWindowIcon",
transactionTokenIcon = "transactionTokenIcon",
networkFeeTipIcon = "networkFeeTipIcon",
showLessDetailArrow = "showLessDetailArrow",
showMoreDetailArrow = "showMoreDetailArrow",
requestIcon = "requestIcon"
}
export declare enum DateFormat {
YYYYMMDD_HYPHEN = "yyyy-MM-dd",
DDMMYYYY_SLASH = "dd/MM/yyyy",
MMDDYYYY_SLASH = "MM/dd/yyyy"
}
export declare enum ErrorCode {
unknown = "-1",
success = "0",
apiParameterMissing = "1",
apiParameterInvalid = "2",
forbidden = "3",
unauthorized = "4",
retry = "9",
customerSuspended = "10",
pending = "11",
invalidSession = "12",
invalidPartnerId = "13",
invalidMessage = "14",
invalidPhone = "15",
walletIdNotFound = "156001",
tokenIdNotFound = "156002",
transactionIdNotFound = "156003",
walletSetIdNotFound = "156004",
notEnoughFounds = "155201",
notEnoughBalance = "155202",
exceedWithdrawLimit = "155203",
minimumFundsRequired = "155204",
invalidTransactionFee = "155205",
rejectedOnAmlScreening = "155206",
tagRequired = "155207",
gasLimitTooLow = "155208",
transactionDataNotEncodedProperly = "155209",
fullNodeReturnedError = "155210",
walletSetupRequired = "155211",
lowerThenMinimumAccountBalance = "155212",
rejectedByBlockchain = "155213",
droppedAsPartOfReorg = "155214",
operationNotSupport = "155215",
amountBelowMinimum = "155216",
wrongNftTokenIdNumber = "155217",
invalidDestinationAddress = "155218",
tokenWalletChainMismatch = "155219",
wrongAmountsNumber = "155220",
userAlreadyExisted = "155101",
userNotFound = "155102",
userTokenNotFound = "155103",
userTokenExpired = "155104",
invalidUserToken = "155105",
userWasInitialized = "155106",
userHasSetPin = "155107",
userHasSetSecurityQuestion = "155108",
userWasDisabled = "155109",
userDoesNotSetPinYet = "155110",
userDoesNotSetSecurityQuestionYet = "155111",
incorrectUserPin = "155112",
incorrectDeviceId = "155113",
incorrectAppId = "155114",
incorrectSecurityAnswers = "155115",
invalidChallengeId = "155116",
invalidApproveContent = "155117",
invalidEncryptionKey = "155118",
userPinLocked = "155119",
securityAnswersLocked = "155120",
walletIsFrozen = "155501",
maxWalletLimitReached = "155502",
walletSetIdMutuallyExclusive = "155503",
metadataUnmatched = "155504",
userCanceled = "155701",
launchUiFailed = "155702",
pinCodeNotMatched = "155703",
insecurePinCode = "155704",
hintsMatchAnswers = "155705",
networkError = "155706",
biometricsSettingNotEnabled = "155708",
deviceNotSupportBiometrics = "155709",
biometricsKeyPermanentlyInvalidated = "155710",
biometricsUserSkip = "155711",
biometricsUserDisableForPin = "155712",
biometricsUserLockout = "155713",
biometricsUserLockoutPermanent = "155714",
biometricsUserNotAllowPermission = "155715",
biometricsInternalError = "155716",
userSecretMissing = "155717",
invalidUserTokenFormat = "155718",
userTokenMismatch = "155719",
socialLoginFailed = "155720",
loginInfoMissing = "155721"
}
export declare class SecurityQuestion {
title: string;
inputType?: InputType;
constructor(title: string, inputType?: InputType);
}
export interface Configuration {
endpoint: string;
appId: string;
settingsManagement?: SettingsManagement;
}
export type EventListener = (event: ExecuteEvent) => void;
export type SuccessCallback = (result: SuccessResult) => void;
export type LoginSuccessCallback = (result: LoginResult) => void;
export type CompleteCallback = () => void;
export type ErrorCallback = (error: Error) => void;
export interface SdkVersion {
native: string;
rn?: string;
}
export interface SuccessResult {
result: ExecuteResult;
warning?: ExecuteWarning;
}
export interface Error {
code?: string;
message: string;
}
export interface LoginResult {
userToken?: string;
encryptionKey?: string;
refreshToken?: string;
oauthInfo?: OauthInfo;
}
export interface OauthInfo {
provider?: string;
scope?: string[];
socialUserUUID?: string;
socialUserInfo?: SocialUserInfo;
}
export interface SocialUserInfo {
name?: string;
email?: string;
phone?: string;
}
export interface ExecuteResult {
resultType: ExecuteResultType;
status: ExecuteResultStatus;
data?: ExecuteResultData;
}
export interface ExecuteWarning {
warningType: ErrorCode;
warningString: string;
}
export interface ExecuteResultData {
signature?: string;
signedTransaction?: string;
txHash?: string;
}
export interface SettingsManagement {
enableBiometricsPin: boolean;
}
export declare class IconTextConfig {
image: ImageSourcePropType;
textConfig: TextConfig;
constructor(image: ImageSourcePropType, textConfig: TextConfig);
}
export declare class TextConfig {
text?: string;
gradientColors?: string[];
textColor?: string;
font?: string;
constructor(text?: string, gradientColorsOrTextColor?: string[] | string, font?: string);
}
export declare enum ExecuteResultStatus {
UNKNOWN = "UNKNOWN",
PENDING = "PENDING",
IN_PROGRESS = "IN_PROGRESS",
COMPLETE = "COMPLETE",
FAILED = "FAILED",
EXPIRED = "EXPIRED"
}
export declare enum ExecuteEvent {
forgotPin = "forgotPin",
resendOtp = "resendOtp"
}
export declare enum ExecuteResultType {
UNKNOWN = "UNKNOWN",
SET_PIN = "SET_PIN",
RESTORE_PIN = "RESTORE_PIN",
SET_SECURITY_QUESTIONS = "SET_SECURITY_QUESTIONS",
CREATE_WALLET = "CREATE_WALLET",
CREATE_TRANSACTION = "CREATE_TRANSACTION",
ACCELERATE_TRANSACTION = "ACCELERATE_TRANSACTION",
CANCEL_TRANSACTION = "CANCEL_TRANSACTION",
CONTRACT_EXECUTION = "CONTRACT_EXECUTION",
SIGN_MESSAGE = "SIGN_MESSAGE",
SIGN_TYPEDDATA = "SIGN_TYPEDDATA",
INITIALIZE = "INITIALIZE",
SET_BIOMETRICS_PIN = "SET_BIOMETRICS_PIN",
WALLET_UPGRADE = "WALLET_UPGRADE"
}
export declare enum InputType {
text = "text",
datePicker = "datePicker"
}
export declare enum SocialProvider {
Google = "Google",
Facebook = "Facebook",
Apple = "Apple"
}
//# sourceMappingURL=types.d.ts.map