@fun-xyz/fiat-contract 0.22.2 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -44
- package/dist/chunk-5UEPWL7B.mjs +11 -0
- package/dist/{chunk-5GRPYE2U.mjs → chunk-CRNKRIKR.mjs} +1 -1
- package/dist/{chunk-DTHUNDA7.mjs → chunk-IPOPANXS.mjs} +2 -2
- package/dist/chunk-T5JAYOWY.mjs +9 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +241 -64
- package/dist/index.mjs +238 -65
- package/dist/providers/moonpay.d.ts +107 -109
- package/dist/providers/moonpay.js +1 -1
- package/dist/providers/moonpay.mjs +1 -1
- package/dist/providers/moonpay.schemas.d.ts +22 -5
- package/dist/routing.d.ts +168 -0
- package/dist/routing.js +31 -0
- package/dist/routing.mjs +7 -0
- package/dist/schemas.d.ts +9 -1
- package/dist/table.js +1 -1
- package/dist/table.mjs +1 -1
- package/dist/terms.d.ts +2 -2
- package/dist/terms.mjs +1 -1
- package/dist/types.d.ts +16 -1
- package/package.json +11 -1
- package/routing.d.ts +1 -0
- package/routing.js +2 -0
- package/dist/chunk-3HCZ6JBJ.mjs +0 -9
package/dist/index.mjs
CHANGED
|
@@ -12,16 +12,19 @@ import {
|
|
|
12
12
|
tableEntry,
|
|
13
13
|
unofferedEndpoints,
|
|
14
14
|
unreachableStates
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-IPOPANXS.mjs";
|
|
16
16
|
import {
|
|
17
17
|
MOONPAY_ENDPOINTS
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-T5JAYOWY.mjs";
|
|
19
19
|
import {
|
|
20
20
|
FIAT_TERMS_ENDPOINT,
|
|
21
21
|
FUN_KYC_CONSENT_DOCUMENTS,
|
|
22
22
|
PROVIDER_CHECKOUT_DOCUMENTS,
|
|
23
23
|
PUBLISHED_TERMS_DOCUMENTS
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-CRNKRIKR.mjs";
|
|
25
|
+
import {
|
|
26
|
+
ROUTING_ENDPOINTS
|
|
27
|
+
} from "./chunk-5UEPWL7B.mjs";
|
|
25
28
|
|
|
26
29
|
// src/codes.ts
|
|
27
30
|
var US_STATE_CODES = [
|
|
@@ -859,6 +862,8 @@ var $providerBoundFlowState = z.union([
|
|
|
859
862
|
var $flowState = z.union([$providerBoundFlowState, $blockedState]);
|
|
860
863
|
var FlowStateSchema = $flowState;
|
|
861
864
|
var $nonBlank = z.string().refine((value) => value.trim().length > 0, "must not be blank");
|
|
865
|
+
var $isoInstant = z.string().datetime({ offset: true });
|
|
866
|
+
var $errorBodyFields = { errorMsg: z.string(), reqId: z.string().optional() };
|
|
862
867
|
var $termsStage = z.enum(["CHECKOUT", "KYC"]);
|
|
863
868
|
var $termsDocument = obj({
|
|
864
869
|
id: $nonBlank,
|
|
@@ -874,7 +879,7 @@ var $termsAcceptance = obj({
|
|
|
874
879
|
documentId: $nonBlank,
|
|
875
880
|
version: $nonBlank,
|
|
876
881
|
contentDigest: $nonBlank,
|
|
877
|
-
acceptedAt:
|
|
882
|
+
acceptedAt: $isoInstant
|
|
878
883
|
});
|
|
879
884
|
var TermsDocumentAcceptanceSchema = $termsAcceptance;
|
|
880
885
|
var $termsRequest = obj({
|
|
@@ -886,12 +891,121 @@ var $termsResponse = obj({ recorded: z.array($nonBlank) });
|
|
|
886
891
|
var FiatTermsResponseSchema = $termsResponse;
|
|
887
892
|
var $termsErrorBody = obj({
|
|
888
893
|
errorCode: $nonBlank,
|
|
889
|
-
|
|
890
|
-
reqId: z.string().optional(),
|
|
894
|
+
...$errorBodyFields,
|
|
891
895
|
reason: z.enum(["STALE_TERMS", "INVALID_REQUEST", "RATE_LIMITED", "PROVIDER_UNAVAILABLE"]),
|
|
892
896
|
recovery: z.enum(["RETRY", "REQUOTE", "NONE"])
|
|
893
897
|
});
|
|
894
898
|
var FiatTermsErrorBodySchema = $termsErrorBody;
|
|
899
|
+
var $decimalAmount = z.string().regex(/^(?:0|[1-9]\d*)(?:\.\d+)?$/, "must be a decimal string");
|
|
900
|
+
var compareDecimals = (left, right) => {
|
|
901
|
+
const [leftWhole = "", leftFraction = ""] = left.split(".");
|
|
902
|
+
const [rightWhole = "", rightFraction = ""] = right.split(".");
|
|
903
|
+
if (leftWhole.length !== rightWhole.length) return leftWhole.length - rightWhole.length;
|
|
904
|
+
const width = Math.max(leftFraction.length, rightFraction.length);
|
|
905
|
+
const leftDigits = leftWhole + leftFraction.padEnd(width, "0");
|
|
906
|
+
const rightDigits = rightWhole + rightFraction.padEnd(width, "0");
|
|
907
|
+
return leftDigits < rightDigits ? -1 : leftDigits > rightDigits ? 1 : 0;
|
|
908
|
+
};
|
|
909
|
+
var $countryCode = z.enum(Object.keys(CountryCode));
|
|
910
|
+
var $routingProvider = $provider.extract(["TRANSAK", "BANXA", "MOONPAY", "STRIPE", "COINBASE"]);
|
|
911
|
+
var $optionalGeoField = z.union([$nonBlank, z.literal("")]).optional();
|
|
912
|
+
var US_REGION_REQUIRED = "a US buyer needs a US state code as region";
|
|
913
|
+
var hasUsRegion = (country, region) => country !== "US" || UsStateCodeSchema.safeParse(region).success;
|
|
914
|
+
var $routingTableQuery = obj({
|
|
915
|
+
fiatCurrencyCode: z.enum(FIAT_CURRENCY_CODES).optional(),
|
|
916
|
+
cryptoCurrencyCode: $nonBlank,
|
|
917
|
+
chainId: $nonBlank,
|
|
918
|
+
country: $countryCode,
|
|
919
|
+
region: $optionalGeoField,
|
|
920
|
+
methods: z.string().refine(
|
|
921
|
+
(methods) => methods.split(",").every((method) => PAYMENT_METHOD_CATEGORIES.includes(method.trim())),
|
|
922
|
+
"must be comma-separated payment method categories"
|
|
923
|
+
)
|
|
924
|
+
}).refine((query) => hasUsRegion(query.country, query.region), { message: US_REGION_REQUIRED, path: ["region"] });
|
|
925
|
+
var FiatRoutingTableQuerySchema = $routingTableQuery;
|
|
926
|
+
var $routingTableProvider = obj({
|
|
927
|
+
provider: $routingProvider,
|
|
928
|
+
next: z.enum(["READY", "AUTH", "DECLARATIVE_KYC", "DOCUMENTARY_KYC", "PENDING_REVIEW"]),
|
|
929
|
+
visibility: z.enum(["COMPLETE", "PARTIAL", "AUTH_GATED"])
|
|
930
|
+
});
|
|
931
|
+
var $routingTableInterval = obj({
|
|
932
|
+
min: $decimalAmount,
|
|
933
|
+
max: $decimalAmount,
|
|
934
|
+
providers: z.array($routingTableProvider).min(1).refine((providers) => hasUniqueIds(providers.map((entry) => entry.provider)), "each provider is listed once")
|
|
935
|
+
}).refine((interval) => compareDecimals(interval.min, interval.max) <= 0, { message: "min must not exceed max", path: ["max"] });
|
|
936
|
+
var $routingTableMethod = obj({
|
|
937
|
+
method: z.enum(PAYMENT_METHOD_CATEGORIES),
|
|
938
|
+
unavailableReason: z.enum(["USER_LIMIT", "KYC_REJECTED", "PROVIDER_OUTAGE", "NOT_SERVED"]).optional(),
|
|
939
|
+
intervals: z.array($routingTableInterval).superRefine((intervals, context) => {
|
|
940
|
+
intervals.forEach((interval, index) => {
|
|
941
|
+
const previous = intervals[index - 1];
|
|
942
|
+
if (previous !== void 0 && compareDecimals(interval.min, previous.max) <= 0) {
|
|
943
|
+
context.addIssue({ code: "custom", path: [index, "min"], message: "intervals are sorted and do not overlap" });
|
|
944
|
+
}
|
|
945
|
+
});
|
|
946
|
+
})
|
|
947
|
+
}).refine((method) => method.unavailableReason === void 0 || method.intervals.length === 0, {
|
|
948
|
+
message: "unavailableReason only with no interval",
|
|
949
|
+
path: ["unavailableReason"]
|
|
950
|
+
});
|
|
951
|
+
var $routingTableResponse = obj({
|
|
952
|
+
expiresAt: $isoInstant,
|
|
953
|
+
methods: z.array($routingTableMethod).refine((methods) => hasUniqueIds(methods.map((entry) => entry.method)), "each method is listed once")
|
|
954
|
+
});
|
|
955
|
+
var FiatRoutingTableResponseSchema = $routingTableResponse;
|
|
956
|
+
var $routingQuoteRequest = obj({
|
|
957
|
+
provider: $routingProvider,
|
|
958
|
+
fiatCurrency: z.enum(FIAT_CURRENCY_CODES),
|
|
959
|
+
fiatAmount: $decimalAmount.refine((amount) => Number(amount) > 0, "must be positive"),
|
|
960
|
+
cryptoCurrencyCode: $nonBlank,
|
|
961
|
+
chainId: $nonBlank,
|
|
962
|
+
paymentMethodId: z.enum(PAYMENT_METHOD_CATEGORIES),
|
|
963
|
+
geo: obj({ alpha2: $countryCode, region: $optionalGeoField, ip: $optionalGeoField, city: z.string().optional() }).refine(
|
|
964
|
+
(geo) => hasUsRegion(geo.alpha2, geo.region),
|
|
965
|
+
{ message: US_REGION_REQUIRED, path: ["region"] }
|
|
966
|
+
),
|
|
967
|
+
prepareSessionAuth: z.boolean().optional()
|
|
968
|
+
});
|
|
969
|
+
var FiatRoutingQuoteRequestSchema = $routingQuoteRequest;
|
|
970
|
+
var $routingServiceableRange = obj({ min: $money, max: $money, userMax: $money.nullable().optional() });
|
|
971
|
+
var $noRouteFields = {
|
|
972
|
+
...$errorBodyFields,
|
|
973
|
+
errorCode: z.literal("FiatNoRouteError"),
|
|
974
|
+
serviceableRanges: z.array($routingServiceableRange),
|
|
975
|
+
retryable: z.boolean()
|
|
976
|
+
};
|
|
977
|
+
var $routingNoRouteErrorBody = z.union([
|
|
978
|
+
obj({ ...$noRouteFields, reason: z.enum(["NO_CANDIDATE", "PROVIDER_DECLINED", "PROVIDER_OUTAGE", "KYC_REJECTED"]) }),
|
|
979
|
+
obj({ ...$noRouteFields, reason: z.literal("USER_LIMIT"), code: z.literal("LIMITS_EXCEEDED"), recovery: z.literal("REQUOTE") })
|
|
980
|
+
]);
|
|
981
|
+
var $amountErrorFields = { ...$errorBodyFields, fiatCurrencyCode: z.enum(FIAT_CURRENCY_CODES) };
|
|
982
|
+
var $routingAmountErrorBody = z.union([
|
|
983
|
+
obj({ ...$amountErrorFields, errorCode: z.literal("FiatAmountBelowMinimumError"), minFiatAmount: $decimalAmount }),
|
|
984
|
+
obj({ ...$amountErrorFields, errorCode: z.literal("FiatAmountAboveMaximumError"), maxFiatAmount: $decimalAmount })
|
|
985
|
+
]);
|
|
986
|
+
var $routingRateLimitedErrorBody = obj({
|
|
987
|
+
...$errorBodyFields,
|
|
988
|
+
errorCode: z.literal("TooManyRequestsError"),
|
|
989
|
+
retryAfterSeconds: z.number().int().positive().optional()
|
|
990
|
+
});
|
|
991
|
+
var ROUTING_ERROR_CODES = [
|
|
992
|
+
"FiatNoRouteError",
|
|
993
|
+
"FiatAmountBelowMinimumError",
|
|
994
|
+
"FiatAmountAboveMaximumError",
|
|
995
|
+
"TooManyRequestsError"
|
|
996
|
+
];
|
|
997
|
+
var $routingFaultErrorBody = obj({
|
|
998
|
+
...$errorBodyFields,
|
|
999
|
+
errorCode: $nonBlank.refine((code) => !ROUTING_ERROR_CODES.includes(code), "this errorCode carries its own fields")
|
|
1000
|
+
});
|
|
1001
|
+
var $routingTableErrorBody = z.union([$routingRateLimitedErrorBody, $routingFaultErrorBody]);
|
|
1002
|
+
var FiatRoutingTableErrorBodySchema = $routingTableErrorBody;
|
|
1003
|
+
var $routingQuoteErrorBody = z.union([$routingNoRouteErrorBody, $routingAmountErrorBody, $routingFaultErrorBody]);
|
|
1004
|
+
var FiatRoutingQuoteErrorBodySchema = $routingQuoteErrorBody;
|
|
1005
|
+
var $fiatGeo = obj({ alpha2: z.string().regex(/^[A-Z]{2}$/), region: $nonBlank.optional(), ip: $nonBlank.optional() });
|
|
1006
|
+
var FiatGeoSchema = $fiatGeo;
|
|
1007
|
+
var $nextRequest = z.object({ provider: $provider, action: $nonBlank, geo: $fiatGeo }).catchall(z.unknown());
|
|
1008
|
+
var FiatNextRequestSchema = $nextRequest;
|
|
895
1009
|
var $providerBoundStepResponse = obj({
|
|
896
1010
|
state: $providerBoundFlowState,
|
|
897
1011
|
provider: $provider,
|
|
@@ -2021,33 +2135,17 @@ var FIAT_CURRENCY_CODES2 = Object.keys(FIAT_CURRENCY_NAMES);
|
|
|
2021
2135
|
var obj2 = (shape) => z2.object(shape).strict();
|
|
2022
2136
|
var $nonEmpty = z2.string().refine((value) => value.trim().length > 0, "must not be blank");
|
|
2023
2137
|
var hasUniqueIds2 = (ids) => new Set(ids).size === ids.length;
|
|
2024
|
-
var $geo = obj2({ alpha2: z2.string().regex(/^[A-Z]{2}$/), region: $nonEmpty.optional(), ip: $nonEmpty.optional() });
|
|
2025
2138
|
var $checkout = obj2({
|
|
2026
2139
|
amount: FiatAmountSchema,
|
|
2027
2140
|
destination: obj2({ asset: $nonEmpty, network: $nonEmpty }),
|
|
2028
|
-
paymentMethod: z2.literal("apple_pay")
|
|
2029
|
-
geo: $geo
|
|
2141
|
+
paymentMethod: z2.literal("apple_pay")
|
|
2030
2142
|
});
|
|
2031
2143
|
var MoonPayCheckoutSchema = $checkout;
|
|
2032
2144
|
var $credentials = obj2({ customerId: $nonEmpty, accessToken: $nonEmpty });
|
|
2033
2145
|
var MoonPaySdkCredentialsSchema = $credentials;
|
|
2034
|
-
var $
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
kind: z2.literal("kyc"),
|
|
2038
|
-
checkout: $checkout,
|
|
2039
|
-
credentials: $credentials,
|
|
2040
|
-
values: z2.record(KycFieldIdSchema, z2.string()).refine((values) => Object.keys(values).length > 0, "values must not be empty")
|
|
2041
|
-
}),
|
|
2042
|
-
obj2({
|
|
2043
|
-
kind: z2.literal("order"),
|
|
2044
|
-
orderId: $nonEmpty,
|
|
2045
|
-
transactionId: $nonEmpty.optional(),
|
|
2046
|
-
quotedAmount: FiatAmountSchema,
|
|
2047
|
-
geo: $geo.optional()
|
|
2048
|
-
})
|
|
2049
|
-
]);
|
|
2050
|
-
var MoonPayIntentRequestSchema = $intentRequest;
|
|
2146
|
+
var $context = { checkout: $checkout, credentials: $credentials.optional() };
|
|
2147
|
+
var $requestContext = obj2($context);
|
|
2148
|
+
var MoonPayRequestContextSchema = $requestContext;
|
|
2051
2149
|
var $quoteInput = obj2({
|
|
2052
2150
|
source: obj2({ asset: obj2({ code: z2.enum(FIAT_CURRENCY_CODES2) }), amount: $nonEmpty }),
|
|
2053
2151
|
destination: obj2({ asset: obj2({ code: $nonEmpty }) }),
|
|
@@ -2056,50 +2154,103 @@ var $quoteInput = obj2({
|
|
|
2056
2154
|
feeBehavior: z2.literal("inclusive")
|
|
2057
2155
|
});
|
|
2058
2156
|
var MoonPayQuoteInputSchema = $quoteInput;
|
|
2059
|
-
var $
|
|
2060
|
-
var $
|
|
2157
|
+
var $observeFields = { action: z2.literal("observe") };
|
|
2158
|
+
var $consentFields = {
|
|
2159
|
+
action: z2.literal("consent"),
|
|
2160
|
+
acceptances: z2.array(TermsDocumentAcceptanceSchema).min(1).refine((acceptances) => hasUniqueIds2(acceptances.map((acceptance) => acceptance.documentId)), "each document is accepted once")
|
|
2161
|
+
};
|
|
2162
|
+
var $connectFields = { action: z2.literal("connect"), customerId: $nonEmpty, accessToken: $nonEmpty };
|
|
2163
|
+
var $kycFields = {
|
|
2164
|
+
action: z2.literal("kyc"),
|
|
2165
|
+
credentials: $credentials,
|
|
2166
|
+
values: z2.record(KycFieldIdSchema, z2.string()).refine((values) => Object.keys(values).length > 0, "values must not be empty")
|
|
2167
|
+
};
|
|
2168
|
+
var $orderFields = { action: z2.literal("order"), orderId: $nonEmpty, quotedAmount: FiatAmountSchema, transactionId: $nonEmpty.optional() };
|
|
2169
|
+
var $observeRequest = obj2({ ...$context, ...$observeFields });
|
|
2170
|
+
var $consentRequest = obj2({ ...$context, ...$consentFields });
|
|
2171
|
+
var $connectRequest = obj2({ ...$context, ...$connectFields });
|
|
2172
|
+
var $kycRequest = obj2({ ...$context, ...$kycFields });
|
|
2173
|
+
var $orderRequest = obj2({ ...$context, ...$orderFields });
|
|
2174
|
+
var MoonPayObserveRequestSchema = $observeRequest;
|
|
2175
|
+
var MoonPayConsentRequestSchema = $consentRequest;
|
|
2176
|
+
var MoonPayConnectRequestSchema = $connectRequest;
|
|
2177
|
+
var MoonPayKycRequestSchema = $kycRequest;
|
|
2178
|
+
var MoonPayOrderRequestSchema = $orderRequest;
|
|
2179
|
+
var $request = z2.discriminatedUnion("action", [$observeRequest, $consentRequest, $connectRequest, $kycRequest, $orderRequest]);
|
|
2180
|
+
var MoonPayRequestSchema = $request;
|
|
2181
|
+
var $envelope = { provider: z2.literal("MOONPAY"), geo: FiatGeoSchema, ...$context };
|
|
2182
|
+
var $nextRequest2 = z2.discriminatedUnion("action", [
|
|
2183
|
+
obj2({ ...$envelope, ...$observeFields }),
|
|
2184
|
+
obj2({ ...$envelope, ...$consentFields }),
|
|
2185
|
+
obj2({ ...$envelope, ...$connectFields }),
|
|
2186
|
+
obj2({ ...$envelope, ...$kycFields }),
|
|
2187
|
+
obj2({ ...$envelope, ...$orderFields })
|
|
2188
|
+
]);
|
|
2189
|
+
var MoonPayNextRequestSchema = $nextRequest2;
|
|
2061
2190
|
var FIELD_OF_CODE = { PHONE_IN_USE: "PHONE_NUMBER", TAX_ID_IN_USE: "TAX_IDENTIFIER" };
|
|
2062
2191
|
var $fieldError = obj2({ fieldId: $nonEmpty, message: $nonEmpty, code: z2.enum(["PHONE_IN_USE", "TAX_ID_IN_USE"]).optional() });
|
|
2063
|
-
var $
|
|
2064
|
-
var $
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
var $
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
}
|
|
2077
|
-
if (response.documents.some((document) => document.stage !== response.stage)) {
|
|
2078
|
-
context.addIssue({ code: "custom", path: ["documents"], message: "every document must be at the response stage" });
|
|
2079
|
-
}
|
|
2192
|
+
var $consentShape = obj2({ next: z2.literal("consent"), documents: z2.array(TermsDocumentSchema).min(1) });
|
|
2193
|
+
var $connectPrompt = obj2({
|
|
2194
|
+
next: z2.literal("connect"),
|
|
2195
|
+
sessionToken: $nonEmpty,
|
|
2196
|
+
quoteInput: $quoteInput,
|
|
2197
|
+
resetConnection: z2.literal(true).optional()
|
|
2198
|
+
});
|
|
2199
|
+
var $kycShape = obj2({ next: z2.literal("kyc"), fields: z2.array(FormFieldSchema).min(1), fieldErrors: z2.array($fieldError).min(1).optional() });
|
|
2200
|
+
var $waitPrompt = obj2({ next: z2.literal("wait"), retryAfterMs: z2.number().int().positive().max(6e4) });
|
|
2201
|
+
var $orderPrompt = obj2({ next: z2.literal("order"), orderId: $nonEmpty, quoteInput: $quoteInput });
|
|
2202
|
+
var checkConsent = (prompt, context) => {
|
|
2203
|
+
if (!hasUniqueIds2(prompt.documents.map((document) => document.id))) {
|
|
2204
|
+
context.addIssue({ code: "custom", path: ["documents"], message: "document ids must be unique" });
|
|
2080
2205
|
}
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
}
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
}
|
|
2089
|
-
if (response.fieldErrors?.some((error) => error.code && FIELD_OF_CODE[error.code] !== error.fieldId)) {
|
|
2090
|
-
context.addIssue({ code: "custom", path: ["fieldErrors"], message: "a field error code must match its field" });
|
|
2091
|
-
}
|
|
2206
|
+
};
|
|
2207
|
+
var checkKyc = (prompt, context) => {
|
|
2208
|
+
const fieldIds = prompt.fields.map((field) => field.id);
|
|
2209
|
+
if (!hasUniqueIds2(fieldIds)) {
|
|
2210
|
+
context.addIssue({ code: "custom", path: ["fields"], message: "field ids must be unique" });
|
|
2211
|
+
}
|
|
2212
|
+
if (prompt.fieldErrors?.some((error) => !fieldIds.includes(error.fieldId))) {
|
|
2213
|
+
context.addIssue({ code: "custom", path: ["fieldErrors"], message: "a field error must name a field in this prompt" });
|
|
2092
2214
|
}
|
|
2215
|
+
if (prompt.fieldErrors?.some((error) => error.code && FIELD_OF_CODE[error.code] !== error.fieldId)) {
|
|
2216
|
+
context.addIssue({ code: "custom", path: ["fieldErrors"], message: "a field error code must match its field" });
|
|
2217
|
+
}
|
|
2218
|
+
};
|
|
2219
|
+
var MoonPayConsentPromptSchema = $consentShape.superRefine(checkConsent);
|
|
2220
|
+
var MoonPayConnectPromptSchema = $connectPrompt;
|
|
2221
|
+
var MoonPayKycPromptSchema = $kycShape.superRefine(checkKyc);
|
|
2222
|
+
var MoonPayWaitPromptSchema = $waitPrompt;
|
|
2223
|
+
var MoonPayOrderPromptSchema = $orderPrompt;
|
|
2224
|
+
var checkPrompt = (response, context) => {
|
|
2225
|
+
if (response.next === "consent") checkConsent(response, context);
|
|
2226
|
+
if (response.next === "kyc") checkKyc(response, context);
|
|
2227
|
+
};
|
|
2228
|
+
var $promptOptions = [$consentShape, $connectPrompt, $kycShape, $waitPrompt, $orderPrompt];
|
|
2229
|
+
var $prompt = z2.discriminatedUnion("next", [...$promptOptions]).superRefine(checkPrompt);
|
|
2230
|
+
var MoonPayPromptSchema = $prompt;
|
|
2231
|
+
var $done = obj2({ next: z2.literal("done"), order: FiatStepResponseSchema });
|
|
2232
|
+
var MoonPayDoneSchema = $done;
|
|
2233
|
+
var $stepRefused = obj2({
|
|
2234
|
+
next: z2.literal("refused"),
|
|
2235
|
+
reason: z2.enum(["NOT_ELIGIBLE", "DOCUMENTS_REQUIRED", "FINAL_REJECTION", "CUSTOMER_MISMATCH"]),
|
|
2236
|
+
recovery: z2.enum(["REQUOTE", "NONE"])
|
|
2237
|
+
});
|
|
2238
|
+
var $orderRefused = obj2({
|
|
2239
|
+
next: z2.literal("refused"),
|
|
2240
|
+
reason: z2.enum(["CUSTOMER_MISMATCH", "WALLET_MISMATCH", "UNRECORDABLE"]),
|
|
2241
|
+
recovery: z2.literal("NONE")
|
|
2093
2242
|
});
|
|
2243
|
+
var $stepResponse2 = z2.discriminatedUnion("next", [...$promptOptions, $stepRefused]).superRefine(checkPrompt);
|
|
2094
2244
|
var MoonPayStepResponseSchema = $stepResponse2;
|
|
2095
|
-
var $orderResponse = z2.discriminatedUnion("
|
|
2096
|
-
obj2({ status: z2.literal("DONE"), order: FiatStepResponseSchema }),
|
|
2097
|
-
$pending,
|
|
2098
|
-
obj2({ status: z2.literal("REFUSED"), reason: $orderRefusal, recovery: z2.literal("NONE") })
|
|
2099
|
-
]);
|
|
2245
|
+
var $orderResponse = z2.discriminatedUnion("next", [$done, $orderPrompt, $orderRefused]);
|
|
2100
2246
|
var MoonPayOrderResponseSchema = $orderResponse;
|
|
2101
|
-
var
|
|
2102
|
-
|
|
2247
|
+
var MoonPayResponseSchemaFor = {
|
|
2248
|
+
observe: MoonPayStepResponseSchema,
|
|
2249
|
+
consent: MoonPayStepResponseSchema,
|
|
2250
|
+
connect: MoonPayStepResponseSchema,
|
|
2251
|
+
kyc: MoonPayStepResponseSchema,
|
|
2252
|
+
order: MoonPayOrderResponseSchema
|
|
2253
|
+
};
|
|
2103
2254
|
var $faultFields = {
|
|
2104
2255
|
reason: z2.enum(["SESSION_BUDGET_SPENT", "RATE_LIMITED", "PROVIDER_UNAVAILABLE", "INVALID_REQUEST"]),
|
|
2105
2256
|
recovery: z2.enum(["RETRY", "REQUOTE", "NONE"])
|
|
@@ -2131,7 +2282,14 @@ export {
|
|
|
2131
2282
|
FiatAmountSchema,
|
|
2132
2283
|
FiatCurrencyCode,
|
|
2133
2284
|
FiatEndpointSchema,
|
|
2285
|
+
FiatGeoSchema,
|
|
2286
|
+
FiatNextRequestSchema,
|
|
2134
2287
|
FiatProviderSchema,
|
|
2288
|
+
FiatRoutingQuoteErrorBodySchema,
|
|
2289
|
+
FiatRoutingQuoteRequestSchema,
|
|
2290
|
+
FiatRoutingTableErrorBodySchema,
|
|
2291
|
+
FiatRoutingTableQuerySchema,
|
|
2292
|
+
FiatRoutingTableResponseSchema,
|
|
2135
2293
|
FiatStepResponseSchema,
|
|
2136
2294
|
FiatTermsErrorBodySchema,
|
|
2137
2295
|
FiatTermsRequestSchema,
|
|
@@ -2156,14 +2314,28 @@ export {
|
|
|
2156
2314
|
KycSdkResultReportSchema,
|
|
2157
2315
|
MOONPAY_ENDPOINTS,
|
|
2158
2316
|
MoonPayCheckoutSchema,
|
|
2317
|
+
MoonPayConnectPromptSchema,
|
|
2318
|
+
MoonPayConnectRequestSchema,
|
|
2319
|
+
MoonPayConsentPromptSchema,
|
|
2320
|
+
MoonPayConsentRequestSchema,
|
|
2321
|
+
MoonPayDoneSchema,
|
|
2159
2322
|
MoonPayErrorBodySchema,
|
|
2160
2323
|
MoonPayFaultSchema,
|
|
2161
|
-
|
|
2162
|
-
|
|
2324
|
+
MoonPayKycPromptSchema,
|
|
2325
|
+
MoonPayKycRequestSchema,
|
|
2326
|
+
MoonPayNextRequestSchema,
|
|
2327
|
+
MoonPayObserveRequestSchema,
|
|
2328
|
+
MoonPayOrderPromptSchema,
|
|
2329
|
+
MoonPayOrderRequestSchema,
|
|
2163
2330
|
MoonPayOrderResponseSchema,
|
|
2331
|
+
MoonPayPromptSchema,
|
|
2164
2332
|
MoonPayQuoteInputSchema,
|
|
2333
|
+
MoonPayRequestContextSchema,
|
|
2334
|
+
MoonPayRequestSchema,
|
|
2335
|
+
MoonPayResponseSchemaFor,
|
|
2165
2336
|
MoonPaySdkCredentialsSchema,
|
|
2166
2337
|
MoonPayStepResponseSchema,
|
|
2338
|
+
MoonPayWaitPromptSchema,
|
|
2167
2339
|
OrderAwaitingConfirmationStateSchema,
|
|
2168
2340
|
OrderCreatedStateSchema,
|
|
2169
2341
|
OrderRefSchema,
|
|
@@ -2183,6 +2355,7 @@ export {
|
|
|
2183
2355
|
QuoteLimitsSchema,
|
|
2184
2356
|
QuoteSchema,
|
|
2185
2357
|
QuoteStateSchema,
|
|
2358
|
+
ROUTING_ENDPOINTS,
|
|
2186
2359
|
RecoverySchema,
|
|
2187
2360
|
RefundSchema,
|
|
2188
2361
|
ReportSpecSchema,
|