@rhinestone/deposit-modal 0.19.0 → 0.20.1
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 +154 -61
- package/dist/BankOnrampStep-3SNUX6V2.cjs +435 -0
- package/dist/BankOnrampStep-4D24HVHV.mjs +435 -0
- package/dist/{DepositModalReown-UITYXJ6W.cjs → DepositModalReown-7EHOJTFW.cjs} +21 -20
- package/dist/{DepositModalReown-XBNY6QCI.mjs → DepositModalReown-SYQ2SCHC.mjs} +6 -5
- package/dist/WithdrawModal-LLJLEYXZ.cjs +12 -0
- package/dist/WithdrawModal-LXDIT4UV.mjs +12 -0
- package/dist/{bearer-transport-CVHNBgoV.d.cts → bearer-transport-DZyeDG64.d.cts} +5 -1
- package/dist/{bearer-transport-CVHNBgoV.d.ts → bearer-transport-DZyeDG64.d.ts} +5 -1
- package/dist/{caip-BMi-9t09.d.cts → caip-nwFFL46o.d.cts} +2 -2
- package/dist/{caip-BMi-9t09.d.ts → caip-nwFFL46o.d.ts} +2 -2
- package/dist/{chunk-FTWKAJGN.mjs → chunk-2FOPO4N5.mjs} +1 -1
- package/dist/{chunk-EG4H7OMC.cjs → chunk-CIVFT5KR.cjs} +171 -130
- package/dist/{chunk-PYOC6K24.cjs → chunk-D3R3O4CY.cjs} +1 -1
- package/dist/chunk-E7IMWVMN.mjs +346 -0
- package/dist/chunk-EJDBIWNH.mjs +113 -0
- package/dist/chunk-FKJ6EJHH.cjs +346 -0
- package/dist/{chunk-LVCD6RHF.cjs → chunk-FVJKUTHF.cjs} +2 -2
- package/dist/{chunk-NITKDXHR.mjs → chunk-FW7ZMXQS.mjs} +849 -674
- package/dist/chunk-G264OM23.cjs +224 -0
- package/dist/chunk-IPHKBBUV.cjs +113 -0
- package/dist/{chunk-BIL4ENC3.mjs → chunk-IPKT3FU6.mjs} +73 -32
- package/dist/chunk-JPX4MEHV.mjs +19 -0
- package/dist/{chunk-HMUGY66O.cjs → chunk-KXSU24RU.cjs} +1569 -1019
- package/dist/{chunk-ISLVD5HQ.cjs → chunk-LVMNNMOZ.cjs} +10 -5
- package/dist/chunk-O5OW4S7L.cjs +19 -0
- package/dist/{chunk-5NWLS5BQ.mjs → chunk-OZPMRTW3.mjs} +1511 -961
- package/dist/{chunk-OCWSMLOP.cjs → chunk-PVFEZ3UG.cjs} +1164 -989
- package/dist/{chunk-ZGHVJ2XM.mjs → chunk-YQCRXJIL.mjs} +8 -3
- package/dist/chunk-YY4ZOAH5.mjs +224 -0
- package/dist/{chunk-X6N2XPTO.mjs → chunk-ZOJMB5TZ.mjs} +1 -1
- package/dist/compliance.cjs +4 -7
- package/dist/compliance.d.cts +26 -3
- package/dist/compliance.d.ts +26 -3
- package/dist/compliance.mjs +6 -9
- package/dist/constants-BQDxVNgr.d.cts +29 -0
- package/dist/constants-DjGQW5N5.d.ts +29 -0
- package/dist/constants.cjs +3 -37
- package/dist/constants.d.cts +4 -20
- package/dist/constants.d.ts +4 -20
- package/dist/constants.mjs +4 -38
- package/dist/deposit.cjs +7 -6
- package/dist/deposit.d.cts +5 -3
- package/dist/deposit.d.ts +5 -3
- package/dist/deposit.mjs +6 -5
- package/dist/embed.cjs +21 -20
- package/dist/embed.d.cts +3 -2
- package/dist/embed.d.ts +3 -2
- package/dist/embed.mjs +7 -6
- package/dist/index.cjs +8 -35
- package/dist/index.d.cts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.mjs +9 -36
- package/dist/onramp.cjs +4 -33
- package/dist/onramp.d.cts +51 -33
- package/dist/onramp.d.ts +51 -33
- package/dist/onramp.mjs +5 -34
- package/dist/polymarket.cjs +6 -6
- package/dist/polymarket.mjs +2 -2
- package/dist/ramp-types-HYWd7CW0.d.cts +108 -0
- package/dist/ramp-types-HYWd7CW0.d.ts +108 -0
- package/dist/styles.css +255 -0
- package/dist/{types-BOxa1DE-.d.ts → types-BEEMfNi2.d.cts} +24 -4
- package/dist/{types-BShYNpvO.d.cts → types-DQDUqzsZ.d.ts} +24 -4
- package/dist/withdraw.cjs +6 -5
- package/dist/withdraw.d.cts +4 -3
- package/dist/withdraw.d.ts +4 -3
- package/dist/withdraw.mjs +5 -4
- package/package.json +9 -17
- package/dist/WithdrawModal-DY6A55OA.mjs +0 -11
- package/dist/WithdrawModal-V42OK7L3.cjs +0 -11
- package/dist/chunk-ADEWTBSN.cjs +0 -19
- package/dist/chunk-EAGMY3QE.mjs +0 -962
- package/dist/chunk-OY5N3E6L.cjs +0 -962
- package/dist/chunk-PP4QE32S.mjs +0 -19
- package/dist/constants-BT4ctuHo.d.cts +0 -64
- package/dist/constants-D21ZdNOP.d.ts +0 -64
- package/dist/offramp.cjs +0 -25
- package/dist/offramp.d.cts +0 -28
- package/dist/offramp.d.ts +0 -28
- package/dist/offramp.mjs +0 -25
- package/dist/ramp-types-C6aUz4SZ.d.cts +0 -43
- package/dist/ramp-types-C6aUz4SZ.d.ts +0 -43
package/dist/onramp.d.ts
CHANGED
|
@@ -1,55 +1,73 @@
|
|
|
1
|
-
import { C as CustomerSessionOptions } from './bearer-transport-
|
|
2
|
-
export { a as CustomerSession, S as ScopedRequestError } from './bearer-transport-
|
|
3
|
-
import {
|
|
1
|
+
import { C as CustomerSessionOptions } from './bearer-transport-DZyeDG64.js';
|
|
2
|
+
export { a as CustomerSession, S as ScopedRequestError } from './bearer-transport-DZyeDG64.js';
|
|
3
|
+
import { R as RampCurrency, B as BankIntent, a as RampOption, b as RampPagination, c as RampPage, O as OnrampOrder } from './ramp-types-HYWd7CW0.js';
|
|
4
|
+
export { C as ConversionStage, D as DeliveryStage, F as FiatFigure, d as ReceiptStage, e as ReturnStage } from './ramp-types-HYWd7CW0.js';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
type OnrampAccountRequest = BankIntent;
|
|
7
|
+
interface OnrampOptionsRequest {
|
|
8
|
+
/** One option for this currency; both without. */
|
|
9
|
+
currency?: RampCurrency;
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
interface OnrampPayment extends RampPayment {
|
|
13
|
-
bankReceipt: PaymentLegStatus;
|
|
14
|
-
conversion: PaymentLegStatus;
|
|
15
|
-
cryptoDelivery: PaymentLegStatus;
|
|
16
|
-
refund: PaymentReturnStatus;
|
|
17
|
-
adjustment: PaymentReturnStatus;
|
|
11
|
+
/** `GET /onramp/options?provider=noah`. */
|
|
12
|
+
interface OnrampOptions {
|
|
13
|
+
provider: "noah";
|
|
14
|
+
options: RampOption[];
|
|
18
15
|
}
|
|
19
16
|
interface OnrampAccount {
|
|
20
17
|
id: string;
|
|
21
18
|
currency: RampCurrency;
|
|
22
|
-
paymentMethod: "bank_transfer";
|
|
23
19
|
status: "pending" | "active" | "disabled";
|
|
24
20
|
}
|
|
25
21
|
/**
|
|
26
|
-
* The result of one account setup
|
|
27
|
-
* status and no expiry
|
|
28
|
-
* it failed. There is nothing to poll and nothing that lapses.
|
|
22
|
+
* The result of one account setup: the account it configured. It carries no
|
|
23
|
+
* status and no expiry, so there is nothing to poll and nothing that lapses.
|
|
29
24
|
*/
|
|
30
|
-
interface
|
|
31
|
-
id: string;
|
|
25
|
+
interface OnrampAccountCreated {
|
|
32
26
|
account: OnrampAccount;
|
|
33
27
|
}
|
|
34
|
-
|
|
28
|
+
interface OnrampBankDetails {
|
|
29
|
+
schemaVersion: 1;
|
|
30
|
+
capturedAt: string;
|
|
31
|
+
currency: RampCurrency;
|
|
32
|
+
accountHolderName: string;
|
|
33
|
+
bankName?: string;
|
|
34
|
+
bankAddress?: {
|
|
35
|
+
street: string;
|
|
36
|
+
street2?: string;
|
|
37
|
+
city: string;
|
|
38
|
+
postCode: string;
|
|
39
|
+
state: string;
|
|
40
|
+
country: string;
|
|
41
|
+
};
|
|
42
|
+
reference?: string;
|
|
43
|
+
rails: {
|
|
44
|
+
type: "BankAch" | "BankFedwire" | "BankSwift" | "BankSepa";
|
|
45
|
+
accountNumber: string;
|
|
46
|
+
bankCode: string;
|
|
47
|
+
fee: {
|
|
48
|
+
currency: RampCurrency;
|
|
49
|
+
base: string;
|
|
50
|
+
percent: string;
|
|
51
|
+
minimum: string;
|
|
52
|
+
};
|
|
53
|
+
}[];
|
|
54
|
+
}
|
|
55
|
+
/** The instructions the modal renders; read from the processor's snapshot. */
|
|
35
56
|
interface OnrampAccountDetails {
|
|
36
|
-
|
|
57
|
+
bankDetails: OnrampBankDetails;
|
|
37
58
|
}
|
|
38
59
|
/** No requests until an onramp method is called. */
|
|
39
60
|
declare function createOnrampService(options: CustomerSessionOptions): {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
getOptions: (intent: OnrampOptionsRequest) => Promise<RampPage<RampOption>>;
|
|
61
|
+
getOptions: ({ currency }?: OnrampOptionsRequest) => Promise<OnrampOptions>;
|
|
62
|
+
createAccount: ({ currency, optionId }: OnrampAccountRequest) => Promise<OnrampAccountCreated>;
|
|
43
63
|
listAccounts: (page?: RampPagination) => Promise<RampPage<OnrampAccount>>;
|
|
44
64
|
getAccount: (id: string) => Promise<OnrampAccount>;
|
|
65
|
+
getAccountDetails: (id: string) => Promise<OnrampAccountDetails>;
|
|
45
66
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* provider write; the coordinates themselves never cross this API.
|
|
67
|
+
* The customer's Noah orders, newest first. Filtered on the server, before
|
|
68
|
+
* `limit`, so another provider's orders can never crowd one out of a page.
|
|
49
69
|
*/
|
|
50
|
-
|
|
51
|
-
listPayments: (page?: RampPagination) => Promise<RampPage<OnrampPayment>>;
|
|
52
|
-
getPayment: (id: string) => Promise<OnrampPayment>;
|
|
70
|
+
listOrders: ({ cursor, limit }?: RampPagination) => Promise<RampPage<OnrampOrder>>;
|
|
53
71
|
};
|
|
54
72
|
|
|
55
|
-
export { CustomerSessionOptions,
|
|
73
|
+
export { CustomerSessionOptions, type OnrampAccount, type OnrampAccountCreated, type OnrampAccountDetails, type OnrampAccountRequest, type OnrampBankDetails, type OnrampOptions, type OnrampOptionsRequest, OnrampOrder, RampCurrency, RampOption, RampPage, RampPagination, createOnrampService };
|
package/dist/onramp.mjs
CHANGED
|
@@ -1,39 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "./chunk-PP4QE32S.mjs";
|
|
2
|
+
createOnrampService
|
|
3
|
+
} from "./chunk-EJDBIWNH.mjs";
|
|
5
4
|
import {
|
|
6
|
-
ScopedRequestError
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import "./chunk-X6N2XPTO.mjs";
|
|
10
|
-
|
|
11
|
-
// src/core/onramp-service.ts
|
|
12
|
-
function createOnrampService(options) {
|
|
13
|
-
const request = createBearerTransport(options);
|
|
14
|
-
return {
|
|
15
|
-
createSetup: (body) => request("/onramp/noah/setup", body),
|
|
16
|
-
getSetup: (id) => request(`/onramp/noah/setup/${rampResourceId(id)}`),
|
|
17
|
-
getOptions: (intent) => request(`/onramp/noah/options?${rampQuery(intent)}`),
|
|
18
|
-
listAccounts: (page = {}) => request(
|
|
19
|
-
`/onramp/noah/accounts?${rampQuery(page)}`
|
|
20
|
-
),
|
|
21
|
-
getAccount: (id) => request(`/onramp/noah/accounts/${rampResourceId(id)}`),
|
|
22
|
-
/**
|
|
23
|
-
* Mint a hosted address for the customer to read their account number or
|
|
24
|
-
* international account number from. A POST because minting one is a
|
|
25
|
-
* provider write; the coordinates themselves never cross this API.
|
|
26
|
-
*/
|
|
27
|
-
getAccountDetails: (id) => request(
|
|
28
|
-
`/onramp/noah/accounts/${rampResourceId(id)}/details`,
|
|
29
|
-
{}
|
|
30
|
-
),
|
|
31
|
-
listPayments: (page = {}) => request(
|
|
32
|
-
`/onramp/noah/payments?${rampQuery(page)}`
|
|
33
|
-
),
|
|
34
|
-
getPayment: (id) => request(`/onramp/noah/payments/${rampResourceId(id)}`)
|
|
35
|
-
};
|
|
36
|
-
}
|
|
5
|
+
ScopedRequestError
|
|
6
|
+
} from "./chunk-YQCRXJIL.mjs";
|
|
7
|
+
import "./chunk-ZOJMB5TZ.mjs";
|
|
37
8
|
export {
|
|
38
9
|
ScopedRequestError,
|
|
39
10
|
createOnrampService
|
package/dist/polymarket.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('./chunk-
|
|
5
|
+
var _chunkFVJKUTHFcjs = require('./chunk-FVJKUTHF.cjs');
|
|
6
|
+
require('./chunk-FKJ6EJHH.cjs');
|
|
7
7
|
|
|
8
8
|
// src/core/dapp-imports/polymarket/account.ts
|
|
9
9
|
|
|
@@ -22,12 +22,12 @@ async function getPolymarketAccount(params) {
|
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
const eoa = _viem.getAddress.call(void 0, params.eoa);
|
|
25
|
-
const proxyWallet = await
|
|
25
|
+
const proxyWallet = await _chunkFVJKUTHFcjs.fetchPolymarketProxyWallet.call(void 0, eoa, signal);
|
|
26
26
|
if (!proxyWallet) return null;
|
|
27
27
|
throwIfAborted(signal);
|
|
28
28
|
let balances = { pusd: 0n, usdce: 0n };
|
|
29
29
|
try {
|
|
30
|
-
balances = await
|
|
30
|
+
balances = await _chunkFVJKUTHFcjs.readPolymarketBalances.call(void 0, {
|
|
31
31
|
publicClient: polygonClient(rpcUrl),
|
|
32
32
|
proxyWallet
|
|
33
33
|
});
|
|
@@ -39,7 +39,7 @@ async function getPolymarketAccount(params) {
|
|
|
39
39
|
return {
|
|
40
40
|
eoa,
|
|
41
41
|
proxyWallet,
|
|
42
|
-
chainId:
|
|
42
|
+
chainId: _chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
|
|
43
43
|
pusd,
|
|
44
44
|
usdce,
|
|
45
45
|
totalUsd: pusd.usd + usdce.usd
|
|
@@ -51,7 +51,7 @@ function toTokenBalance(raw) {
|
|
|
51
51
|
return { raw, formatted, usd: Number.isFinite(usd) ? usd : 0 };
|
|
52
52
|
}
|
|
53
53
|
var polygon = _viem.defineChain.call(void 0, {
|
|
54
|
-
id:
|
|
54
|
+
id: _chunkFVJKUTHFcjs.POLYMARKET_POLYGON_CHAIN_ID,
|
|
55
55
|
name: "Polygon",
|
|
56
56
|
nativeCurrency: { name: "POL", symbol: "POL", decimals: 18 },
|
|
57
57
|
// Verified to answer `eth_chainId` with 137. `polygon-rpc.com`, the obvious
|
package/dist/polymarket.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
POLYMARKET_POLYGON_CHAIN_ID,
|
|
3
3
|
fetchPolymarketProxyWallet,
|
|
4
4
|
readPolymarketBalances
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-2FOPO4N5.mjs";
|
|
6
|
+
import "./chunk-E7IMWVMN.mjs";
|
|
7
7
|
|
|
8
8
|
// src/core/dapp-imports/polymarket/account.ts
|
|
9
9
|
import {
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
type RampCurrency = "EUR" | "USD";
|
|
2
|
+
interface BankIntent {
|
|
3
|
+
currency: RampCurrency;
|
|
4
|
+
optionId?: string;
|
|
5
|
+
}
|
|
6
|
+
interface RampOption {
|
|
7
|
+
optionId: string;
|
|
8
|
+
currency: RampCurrency;
|
|
9
|
+
}
|
|
10
|
+
type ReceiptStage = {
|
|
11
|
+
status: "not_started" | "pending" | "processing" | "completed";
|
|
12
|
+
} | {
|
|
13
|
+
status: "on_hold";
|
|
14
|
+
reason: "kyc_required" | "rfi_open" | "review";
|
|
15
|
+
} | {
|
|
16
|
+
status: "failed";
|
|
17
|
+
reason: "cancelled" | "declined" | "expired" | "provider_error";
|
|
18
|
+
};
|
|
19
|
+
type ConversionStage = {
|
|
20
|
+
status: "not_started" | "processing" | "completed";
|
|
21
|
+
} | {
|
|
22
|
+
status: "on_hold";
|
|
23
|
+
reason: "rfi_open" | "review";
|
|
24
|
+
} | {
|
|
25
|
+
status: "failed";
|
|
26
|
+
reason: "sub_fee" | "provider_error";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* `submitted` means the provider reported the transfer; only `completed`, with
|
|
30
|
+
* the deposit it landed as, means the funds arrived.
|
|
31
|
+
*/
|
|
32
|
+
type DeliveryStage = {
|
|
33
|
+
status: "not_started" | "pending";
|
|
34
|
+
} | {
|
|
35
|
+
status: "on_hold";
|
|
36
|
+
reason: "rfi_open" | "review";
|
|
37
|
+
} | {
|
|
38
|
+
status: "submitted";
|
|
39
|
+
txHash: string;
|
|
40
|
+
} | {
|
|
41
|
+
status: "completed";
|
|
42
|
+
txHash: string;
|
|
43
|
+
depositId: string;
|
|
44
|
+
} | {
|
|
45
|
+
status: "failed";
|
|
46
|
+
reason: "sub_fee" | "provider_error";
|
|
47
|
+
};
|
|
48
|
+
type ReturnStage = {
|
|
49
|
+
status: "none" | "pending" | "processing" | "failed";
|
|
50
|
+
} | {
|
|
51
|
+
status: "completed";
|
|
52
|
+
outcome: "full_refund" | "adjustment" | "unresolved";
|
|
53
|
+
};
|
|
54
|
+
interface FiatFigure {
|
|
55
|
+
total: string | null;
|
|
56
|
+
net: string | null;
|
|
57
|
+
}
|
|
58
|
+
/** One order, as `GET /onramp/orders/{id}` serves it. */
|
|
59
|
+
interface OnrampOrder {
|
|
60
|
+
id: string;
|
|
61
|
+
provider: "noah" | "swapped";
|
|
62
|
+
kind: "fiat" | "exchange";
|
|
63
|
+
status: "pending" | "processing" | "completed" | "failed" | "refunded";
|
|
64
|
+
terminal: boolean;
|
|
65
|
+
stages: {
|
|
66
|
+
receipt: ReceiptStage;
|
|
67
|
+
conversion: ConversionStage;
|
|
68
|
+
delivery: DeliveryStage;
|
|
69
|
+
return: ReturnStage;
|
|
70
|
+
};
|
|
71
|
+
rail: {
|
|
72
|
+
kind: "fiat";
|
|
73
|
+
method: string;
|
|
74
|
+
} | {
|
|
75
|
+
kind: "exchange";
|
|
76
|
+
connection: string;
|
|
77
|
+
};
|
|
78
|
+
fiat: {
|
|
79
|
+
charged: (FiatFigure & {
|
|
80
|
+
currency: string;
|
|
81
|
+
}) | null;
|
|
82
|
+
eur: FiatFigure | null;
|
|
83
|
+
usd: FiatFigure | null;
|
|
84
|
+
};
|
|
85
|
+
crypto: {
|
|
86
|
+
asset: string;
|
|
87
|
+
network: string;
|
|
88
|
+
amount: string;
|
|
89
|
+
} | null;
|
|
90
|
+
account: string;
|
|
91
|
+
deliveryAddress: string | null;
|
|
92
|
+
/** CAIP-2; absent from processors that predate it. */
|
|
93
|
+
deliveryChain?: string | null;
|
|
94
|
+
/** The provider's own status; informational, never branch on it. */
|
|
95
|
+
providerStatus: string;
|
|
96
|
+
createdAt: string;
|
|
97
|
+
updatedAt: string;
|
|
98
|
+
}
|
|
99
|
+
interface RampPage<T> {
|
|
100
|
+
items: T[];
|
|
101
|
+
nextCursor: string | null;
|
|
102
|
+
}
|
|
103
|
+
interface RampPagination {
|
|
104
|
+
cursor?: string;
|
|
105
|
+
limit?: number;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export type { BankIntent as B, ConversionStage as C, DeliveryStage as D, FiatFigure as F, OnrampOrder as O, RampCurrency as R, RampOption as a, RampPagination as b, RampPage as c, ReceiptStage as d, ReturnStage as e };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
type RampCurrency = "EUR" | "USD";
|
|
2
|
+
interface BankIntent {
|
|
3
|
+
currency: RampCurrency;
|
|
4
|
+
optionId?: string;
|
|
5
|
+
}
|
|
6
|
+
interface RampOption {
|
|
7
|
+
optionId: string;
|
|
8
|
+
currency: RampCurrency;
|
|
9
|
+
}
|
|
10
|
+
type ReceiptStage = {
|
|
11
|
+
status: "not_started" | "pending" | "processing" | "completed";
|
|
12
|
+
} | {
|
|
13
|
+
status: "on_hold";
|
|
14
|
+
reason: "kyc_required" | "rfi_open" | "review";
|
|
15
|
+
} | {
|
|
16
|
+
status: "failed";
|
|
17
|
+
reason: "cancelled" | "declined" | "expired" | "provider_error";
|
|
18
|
+
};
|
|
19
|
+
type ConversionStage = {
|
|
20
|
+
status: "not_started" | "processing" | "completed";
|
|
21
|
+
} | {
|
|
22
|
+
status: "on_hold";
|
|
23
|
+
reason: "rfi_open" | "review";
|
|
24
|
+
} | {
|
|
25
|
+
status: "failed";
|
|
26
|
+
reason: "sub_fee" | "provider_error";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* `submitted` means the provider reported the transfer; only `completed`, with
|
|
30
|
+
* the deposit it landed as, means the funds arrived.
|
|
31
|
+
*/
|
|
32
|
+
type DeliveryStage = {
|
|
33
|
+
status: "not_started" | "pending";
|
|
34
|
+
} | {
|
|
35
|
+
status: "on_hold";
|
|
36
|
+
reason: "rfi_open" | "review";
|
|
37
|
+
} | {
|
|
38
|
+
status: "submitted";
|
|
39
|
+
txHash: string;
|
|
40
|
+
} | {
|
|
41
|
+
status: "completed";
|
|
42
|
+
txHash: string;
|
|
43
|
+
depositId: string;
|
|
44
|
+
} | {
|
|
45
|
+
status: "failed";
|
|
46
|
+
reason: "sub_fee" | "provider_error";
|
|
47
|
+
};
|
|
48
|
+
type ReturnStage = {
|
|
49
|
+
status: "none" | "pending" | "processing" | "failed";
|
|
50
|
+
} | {
|
|
51
|
+
status: "completed";
|
|
52
|
+
outcome: "full_refund" | "adjustment" | "unresolved";
|
|
53
|
+
};
|
|
54
|
+
interface FiatFigure {
|
|
55
|
+
total: string | null;
|
|
56
|
+
net: string | null;
|
|
57
|
+
}
|
|
58
|
+
/** One order, as `GET /onramp/orders/{id}` serves it. */
|
|
59
|
+
interface OnrampOrder {
|
|
60
|
+
id: string;
|
|
61
|
+
provider: "noah" | "swapped";
|
|
62
|
+
kind: "fiat" | "exchange";
|
|
63
|
+
status: "pending" | "processing" | "completed" | "failed" | "refunded";
|
|
64
|
+
terminal: boolean;
|
|
65
|
+
stages: {
|
|
66
|
+
receipt: ReceiptStage;
|
|
67
|
+
conversion: ConversionStage;
|
|
68
|
+
delivery: DeliveryStage;
|
|
69
|
+
return: ReturnStage;
|
|
70
|
+
};
|
|
71
|
+
rail: {
|
|
72
|
+
kind: "fiat";
|
|
73
|
+
method: string;
|
|
74
|
+
} | {
|
|
75
|
+
kind: "exchange";
|
|
76
|
+
connection: string;
|
|
77
|
+
};
|
|
78
|
+
fiat: {
|
|
79
|
+
charged: (FiatFigure & {
|
|
80
|
+
currency: string;
|
|
81
|
+
}) | null;
|
|
82
|
+
eur: FiatFigure | null;
|
|
83
|
+
usd: FiatFigure | null;
|
|
84
|
+
};
|
|
85
|
+
crypto: {
|
|
86
|
+
asset: string;
|
|
87
|
+
network: string;
|
|
88
|
+
amount: string;
|
|
89
|
+
} | null;
|
|
90
|
+
account: string;
|
|
91
|
+
deliveryAddress: string | null;
|
|
92
|
+
/** CAIP-2; absent from processors that predate it. */
|
|
93
|
+
deliveryChain?: string | null;
|
|
94
|
+
/** The provider's own status; informational, never branch on it. */
|
|
95
|
+
providerStatus: string;
|
|
96
|
+
createdAt: string;
|
|
97
|
+
updatedAt: string;
|
|
98
|
+
}
|
|
99
|
+
interface RampPage<T> {
|
|
100
|
+
items: T[];
|
|
101
|
+
nextCursor: string | null;
|
|
102
|
+
}
|
|
103
|
+
interface RampPagination {
|
|
104
|
+
cursor?: string;
|
|
105
|
+
limit?: number;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export type { BankIntent as B, ConversionStage as C, DeliveryStage as D, FiatFigure as F, OnrampOrder as O, RampCurrency as R, RampOption as a, RampPagination as b, RampPage as c, ReceiptStage as d, ReturnStage as e };
|