@coinflowlabs/angular 0.0.4 → 0.0.5-sandbox2
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/esm2022/coinflowlabs-angular.mjs +5 -0
- package/esm2022/lib/coinflow-iframe.component.mjs +67 -0
- package/esm2022/lib/coinflow-purchase-history.component.mjs +16 -0
- package/esm2022/lib/coinflow-purchase-protection.component.mjs +16 -0
- package/esm2022/lib/coinflow-purchase.component.mjs +32 -0
- package/esm2022/lib/coinflow-withdraw-history.component.mjs +16 -0
- package/esm2022/lib/coinflow-withdraw.component.mjs +32 -0
- package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +130 -0
- package/esm2022/lib/common/CoinflowTypes.mjs +13 -0
- package/esm2022/lib/common/CoinflowUtils.mjs +181 -0
- package/esm2022/lib/common/SolanaPeerDeps.mjs +9 -0
- package/esm2022/lib/common/index.mjs +4 -0
- package/esm2022/public-api.mjs +10 -0
- package/fesm2022/coinflowlabs-angular.mjs +504 -0
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/coinflow-iframe.component.d.ts +17 -0
- package/lib/coinflow-purchase-history.component.d.ts +5 -0
- package/lib/coinflow-purchase-protection.component.d.ts +5 -0
- package/lib/coinflow-purchase.component.d.ts +10 -0
- package/lib/coinflow-withdraw-history.component.d.ts +5 -0
- package/lib/coinflow-withdraw.component.d.ts +10 -0
- package/lib/common/CoinflowLibMessageHandlers.d.ts +21 -0
- package/lib/common/CoinflowTypes.d.ts +286 -0
- package/lib/common/CoinflowUtils.d.ts +21 -0
- package/lib/common/SolanaPeerDeps.d.ts +4 -0
- package/package.json +16 -8
- package/{src/public-api.ts → public-api.d.ts} +0 -4
- package/ng-package.json +0 -7
- package/src/lib/coinflow-iframe.component.ts +0 -63
- package/src/lib/coinflow-purchase-history.component.ts +0 -9
- package/src/lib/coinflow-purchase-protection.component.ts +0 -9
- package/src/lib/coinflow-purchase.component.ts +0 -37
- package/src/lib/coinflow-withdraw-history.component.ts +0 -9
- package/src/lib/coinflow-withdraw.component.ts +0 -36
- package/src/lib/common/CoinflowLibMessageHandlers.ts +0 -188
- package/src/lib/common/CoinflowTypes.ts +0 -403
- package/src/lib/common/CoinflowUtils.ts +0 -269
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{src/lib/common/index.ts → lib/common/index.d.ts} +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { web3, base58 } from './SolanaPeerDeps';
|
|
2
|
+
export class CoinflowUtils {
|
|
3
|
+
constructor(env) {
|
|
4
|
+
this.env = env ?? 'prod';
|
|
5
|
+
if (this.env === 'prod')
|
|
6
|
+
this.url = 'https://api.coinflow.cash';
|
|
7
|
+
else if (this.env === 'local')
|
|
8
|
+
this.url = 'http://localhost:5000';
|
|
9
|
+
else
|
|
10
|
+
this.url = `https://api-${this.env}.coinflow.cash`;
|
|
11
|
+
}
|
|
12
|
+
async getNSurePartnerId(merchantId) {
|
|
13
|
+
return fetch(this.url + `/merchant/view/${merchantId}`)
|
|
14
|
+
.then(response => response.json())
|
|
15
|
+
.then((json) => json.nSureSettings?.nSurePartnerId || json.nSurePartnerId)
|
|
16
|
+
.catch(e => {
|
|
17
|
+
console.error(e);
|
|
18
|
+
return undefined;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async getCreditBalance(publicKey, merchantId, blockchain) {
|
|
22
|
+
const response = await fetch(this.url + `/api/customer/balances/${merchantId}`, {
|
|
23
|
+
method: 'GET',
|
|
24
|
+
headers: {
|
|
25
|
+
'x-coinflow-auth-wallet': publicKey,
|
|
26
|
+
'x-coinflow-auth-blockchain': blockchain,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
const { credits } = await response.json();
|
|
30
|
+
return credits;
|
|
31
|
+
}
|
|
32
|
+
static getCoinflowBaseUrl(env) {
|
|
33
|
+
if (!env || env === 'prod')
|
|
34
|
+
return 'https://coinflow.cash';
|
|
35
|
+
if (env === 'local')
|
|
36
|
+
return 'http://localhost:3000';
|
|
37
|
+
return `https://${env}.coinflow.cash`;
|
|
38
|
+
}
|
|
39
|
+
static getCoinflowApiUrl(env) {
|
|
40
|
+
if (!env || env === 'prod')
|
|
41
|
+
return 'https://api.coinflow.cash';
|
|
42
|
+
if (env === 'local')
|
|
43
|
+
return 'http://localhost:5000';
|
|
44
|
+
return `https://api-${env}.coinflow.cash`;
|
|
45
|
+
}
|
|
46
|
+
static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, supportsVersionedTransactions, webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, }) {
|
|
47
|
+
const prefix = routePrefix
|
|
48
|
+
? `/${routePrefix}/${blockchain}`
|
|
49
|
+
: `/${blockchain}`;
|
|
50
|
+
const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
|
|
51
|
+
url.searchParams.append('pubkey', walletPubkey);
|
|
52
|
+
if (transaction) {
|
|
53
|
+
url.searchParams.append('transaction', transaction);
|
|
54
|
+
}
|
|
55
|
+
if (amount) {
|
|
56
|
+
url.searchParams.append('amount', amount.toString());
|
|
57
|
+
}
|
|
58
|
+
if (supportsVersionedTransactions) {
|
|
59
|
+
url.searchParams.append('supportsVersionedTransactions', 'true');
|
|
60
|
+
}
|
|
61
|
+
if (webhookInfo) {
|
|
62
|
+
url.searchParams.append('webhookInfo', Buffer.from(JSON.stringify(webhookInfo)).toString('base64'));
|
|
63
|
+
}
|
|
64
|
+
if (theme) {
|
|
65
|
+
url.searchParams.append('theme', Buffer.from(JSON.stringify(theme)).toString('base64'));
|
|
66
|
+
}
|
|
67
|
+
if (customerInfo) {
|
|
68
|
+
url.searchParams.append('customerInfo', Buffer.from(JSON.stringify(customerInfo)).toString('base64'));
|
|
69
|
+
}
|
|
70
|
+
if (email) {
|
|
71
|
+
url.searchParams.append('email', email);
|
|
72
|
+
}
|
|
73
|
+
if (token) {
|
|
74
|
+
url.searchParams.append('token', token.toString());
|
|
75
|
+
}
|
|
76
|
+
if (tokens) {
|
|
77
|
+
url.searchParams.append('tokens', tokens.toString());
|
|
78
|
+
}
|
|
79
|
+
if (loaderBackground) {
|
|
80
|
+
url.searchParams.append('loaderBackground', loaderBackground);
|
|
81
|
+
}
|
|
82
|
+
if (handleHeightChange) {
|
|
83
|
+
url.searchParams.append('useHeightChange', 'true');
|
|
84
|
+
}
|
|
85
|
+
if (bankAccountLinkRedirect) {
|
|
86
|
+
url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
|
|
87
|
+
}
|
|
88
|
+
if (additionalWallets)
|
|
89
|
+
url.searchParams.append('additionalWallets', JSON.stringify(additionalWallets));
|
|
90
|
+
if (nearDeposit)
|
|
91
|
+
url.searchParams.append('nearDeposit', nearDeposit);
|
|
92
|
+
if (chargebackProtectionData)
|
|
93
|
+
url.searchParams.append('chargebackProtectionData', JSON.stringify(chargebackProtectionData));
|
|
94
|
+
if (deviceId) {
|
|
95
|
+
url.searchParams.append('deviceId', deviceId);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (typeof window !== 'undefined') {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
const deviceId = window?.nSureSDK?.getDeviceId();
|
|
102
|
+
if (deviceId)
|
|
103
|
+
url.searchParams.append('deviceId', deviceId);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (merchantCss)
|
|
107
|
+
url.searchParams.append('merchantCss', merchantCss);
|
|
108
|
+
if (color)
|
|
109
|
+
url.searchParams.append('color', color);
|
|
110
|
+
if (rent)
|
|
111
|
+
url.searchParams.append('rent', rent.lamports.toString());
|
|
112
|
+
if (nativeSolToConvert)
|
|
113
|
+
url.searchParams.append('nativeSolToConvert', nativeSolToConvert.lamports.toString());
|
|
114
|
+
if (lockDefaultToken)
|
|
115
|
+
url.searchParams.append('lockDefaultToken', 'true');
|
|
116
|
+
if (planCode)
|
|
117
|
+
url.searchParams.append('planCode', planCode);
|
|
118
|
+
if (disableApplePay)
|
|
119
|
+
url.searchParams.append('disableApplePay', 'true');
|
|
120
|
+
if (disableGooglePay)
|
|
121
|
+
url.searchParams.append('disableGooglePay', 'true');
|
|
122
|
+
if (settlementType)
|
|
123
|
+
url.searchParams.append('settlementType', settlementType);
|
|
124
|
+
if (lockAmount)
|
|
125
|
+
url.searchParams.append('lockAmount', 'true');
|
|
126
|
+
if (usePermit === false)
|
|
127
|
+
url.searchParams.append('usePermit', 'false');
|
|
128
|
+
if (transactionSigner)
|
|
129
|
+
url.searchParams.append('transactionSigner', transactionSigner);
|
|
130
|
+
if (authOnly === true)
|
|
131
|
+
url.searchParams.append('authOnly', 'true');
|
|
132
|
+
return url.toString();
|
|
133
|
+
}
|
|
134
|
+
static getTransaction(props) {
|
|
135
|
+
if ('transaction' in props && props.transaction !== undefined) {
|
|
136
|
+
const { transaction } = props;
|
|
137
|
+
if (web3 && transaction instanceof web3.Transaction) {
|
|
138
|
+
if (!base58)
|
|
139
|
+
throw new Error('bs58 dependency is required for Solana');
|
|
140
|
+
return base58.encode(
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
142
|
+
// @ts-ignore
|
|
143
|
+
transaction.serialize({
|
|
144
|
+
requireAllSignatures: false,
|
|
145
|
+
verifySignatures: false,
|
|
146
|
+
}));
|
|
147
|
+
}
|
|
148
|
+
if (web3 && transaction instanceof web3.VersionedTransaction) {
|
|
149
|
+
if (!base58)
|
|
150
|
+
throw new Error('bs58 dependency is required for Solana');
|
|
151
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
152
|
+
// @ts-ignore
|
|
153
|
+
return base58.encode(transaction.serialize());
|
|
154
|
+
}
|
|
155
|
+
return btoa(JSON.stringify(transaction));
|
|
156
|
+
}
|
|
157
|
+
if ('action' in props && props.action !== undefined) {
|
|
158
|
+
return btoa(JSON.stringify(props.action));
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
static byBlockchain(blockchain, args) {
|
|
163
|
+
switch (blockchain) {
|
|
164
|
+
case 'solana':
|
|
165
|
+
return args.solana;
|
|
166
|
+
case 'near':
|
|
167
|
+
return args.near;
|
|
168
|
+
case 'polygon':
|
|
169
|
+
return args.polygon;
|
|
170
|
+
case 'eth':
|
|
171
|
+
if (args.eth === undefined)
|
|
172
|
+
throw new Error('blockchain not supported for this operation!');
|
|
173
|
+
return args.eth;
|
|
174
|
+
case 'base':
|
|
175
|
+
return args.base;
|
|
176
|
+
default:
|
|
177
|
+
throw new Error('blockchain not supported!');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxn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QyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUNqQixVQUE4QixFQUM5QixJQUF3RDtRQUV4RCxRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDckIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3RCLEtBQUssS0FBSztnQkFDUixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssU0FBUztvQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDbEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvaW5mbG93QmxvY2tjaGFpbixcbiAgQ29pbmZsb3dFbnZzLFxuICBDb2luZmxvd0lGcmFtZVByb3BzLFxuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG59IGZyb20gJy4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge3dlYjMsIGJhc2U1OH0gZnJvbSAnLi9Tb2xhbmFQZWVyRGVwcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRDcmVkaXRCYWxhbmNlKFxuICAgIHB1YmxpY0tleTogc3RyaW5nLFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICduZWFyJ1xuICApOiBQcm9taXNlPHtjZW50czogbnVtYmVyfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICB0aGlzLnVybCArIGAvYXBpL2N1c3RvbWVyL2JhbGFuY2VzLyR7bWVyY2hhbnRJZH1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC13YWxsZXQnOiBwdWJsaWNLZXksXG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC1ibG9ja2NoYWluJzogYmxvY2tjaGFpbixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHtjcmVkaXRzfSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICByZXR1cm4gY3JlZGl0cztcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd0Jhc2VVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2NvaW5mbG93LmNhc2gnO1xuICAgIGlmIChlbnYgPT09ICdsb2NhbCcpIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJztcblxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dBcGlVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vYXBpLSR7ZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd1VybCh7XG4gICAgd2FsbGV0UHVia2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBhbW91bnQsXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgYmxvY2tjaGFpbixcbiAgICBzdXBwb3J0c1ZlcnNpb25lZFRyYW5zYWN0aW9ucyxcbiAgICB3ZWJob29rSW5mbyxcbiAgICBlbWFpbCxcbiAgICBsb2FkZXJCYWNrZ3JvdW5kLFxuICAgIGhhbmRsZUhlaWdodENoYW5nZSxcbiAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdCxcbiAgICBhZGRpdGlvbmFsV2FsbGV0cyxcbiAgICBuZWFyRGVwb3NpdCxcbiAgICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEsXG4gICAgbWVyY2hhbnRDc3MsXG4gICAgY29sb3IsXG4gICAgcmVudCxcbiAgICBsb2NrRGVmYXVsdFRva2VuLFxuICAgIHRva2VuLFxuICAgIHRva2VucyxcbiAgICBwbGFuQ29kZSxcbiAgICBkaXNhYmxlQXBwbGVQYXksXG4gICAgZGlzYWJsZUdvb2dsZVBheSxcbiAgICBjdXN0b21lckluZm8sXG4gICAgc2V0dGxlbWVudFR5cGUsXG4gICAgbG9ja0Ftb3VudCxcbiAgICBuYXRpdmVTb2xUb0NvbnZlcnQsXG4gICAgdGhlbWUsXG4gICAgdXNlUGVybWl0LFxuICAgIHRyYW5zYWN0aW9uU2lnbmVyLFxuICAgIGF1dGhPbmx5LFxuICAgIGRldmljZUlkLFxuICB9OiBDb2luZmxvd0lGcmFtZVByb3BzKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSByb3V0ZVByZWZpeFxuICAgICAgPyBgLyR7cm91dGVQcmVmaXh9LyR7YmxvY2tjaGFpbn1gXG4gICAgICA6IGAvJHtibG9ja2NoYWlufWA7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChwcmVmaXggKyByb3V0ZSwgQ29pbmZsb3dVdGlscy5nZXRDb2luZmxvd0Jhc2VVcmwoZW52KSk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3B1YmtleScsIHdhbGxldFB1YmtleSEpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuICAgIGlmIChhbW91bnQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhbW91bnQnLCBhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnRzVmVyc2lvbmVkVHJhbnNhY3Rpb25zKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc3VwcG9ydHNWZXJzaW9uZWRUcmFuc2FjdGlvbnMnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIGlmICh3ZWJob29rSW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd3ZWJob29rSW5mbycsXG4gICAgICAgIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHdlYmhvb2tJbmZvKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHRoZW1lKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21lckluZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY3VzdG9tZXJJbmZvJyxcbiAgICAgICAgQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoY3VzdG9tZXJJbmZvKSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbWFpbCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2VtYWlsJywgZW1haWwpO1xuICAgIH1cblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VuJywgdG9rZW4udG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHRva2Vucykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3Rva2VucycsIHRva2Vucy50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAobG9hZGVyQmFja2dyb3VuZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvYWRlckJhY2tncm91bmQnLCBsb2FkZXJCYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAoaGFuZGxlSGVpZ2h0Q2hhbmdlKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndXNlSGVpZ2h0Q2hhbmdlJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICBpZiAoYmFua0FjY291bnRMaW5rUmVkaXJlY3QpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnYmFua0FjY291bnRMaW5rUmVkaXJlY3QnLFxuICAgICAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2FkZGl0aW9uYWxXYWxsZXRzJyxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoYWRkaXRpb25hbFdhbGxldHMpXG4gICAgICApO1xuXG4gICAgaWYgKG5lYXJEZXBvc2l0KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbmVhckRlcG9zaXQnLCBuZWFyRGVwb3NpdCk7XG5cbiAgICBpZiAoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICApO1xuICAgIGlmIChkZXZpY2VJZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGRldmljZUlkID0gd2luZG93Py5uU3VyZVNESz8uZ2V0RGV2aWNlSWQoKTtcbiAgICAgICAgaWYgKGRldmljZUlkKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1lcmNoYW50Q3NzKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbWVyY2hhbnRDc3MnLCBtZXJjaGFudENzcyk7XG4gICAgaWYgKGNvbG9yKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY29sb3InLCBjb2xvcik7XG4gICAgaWYgKHJlbnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdyZW50JywgcmVudC5sYW1wb3J0cy50b1N0cmluZygpKTtcbiAgICBpZiAobmF0aXZlU29sVG9Db252ZXJ0KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICduYXRpdmVTb2xUb0NvbnZlcnQnLFxuICAgICAgICBuYXRpdmVTb2xUb0NvbnZlcnQubGFtcG9ydHMudG9TdHJpbmcoKVxuICAgICAgKTtcbiAgICBpZiAobG9ja0RlZmF1bHRUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tEZWZhdWx0VG9rZW4nLCAndHJ1ZScpO1xuICAgIGlmIChwbGFuQ29kZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3BsYW5Db2RlJywgcGxhbkNvZGUpO1xuXG4gICAgaWYgKGRpc2FibGVBcHBsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVBcHBsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKGRpc2FibGVHb29nbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlR29vZ2xlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoc2V0dGxlbWVudFR5cGUpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2V0dGxlbWVudFR5cGUnLCBzZXR0bGVtZW50VHlwZSk7XG5cbiAgICBpZiAobG9ja0Ftb3VudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tBbW91bnQnLCAndHJ1ZScpO1xuXG4gICAgaWYgKHVzZVBlcm1pdCA9PT0gZmFsc2UpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VQZXJtaXQnLCAnZmFsc2UnKTtcbiAgICBpZiAodHJhbnNhY3Rpb25TaWduZXIpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb25TaWduZXInLCB0cmFuc2FjdGlvblNpZ25lcik7XG4gICAgaWYgKGF1dGhPbmx5ID09PSB0cnVlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYXV0aE9ubHknLCAndHJ1ZScpO1xuXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGdldFRyYW5zYWN0aW9uKHByb3BzOiBDb2luZmxvd1B1cmNoYXNlUHJvcHMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICgndHJhbnNhY3Rpb24nIGluIHByb3BzICYmIHByb3BzLnRyYW5zYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgIGlmICh3ZWIzICYmIHRyYW5zYWN0aW9uIGluc3RhbmNlb2Ygd2ViMy5UcmFuc2FjdGlvbikge1xuICAgICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQgZm9yIFNvbGFuYScpO1xuICAgICAgICByZXR1cm4gYmFzZTU4LmVuY29kZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSh7XG4gICAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAod2ViMyAmJiB0cmFuc2FjdGlvbiBpbnN0YW5jZW9mIHdlYjMuVmVyc2lvbmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgaWYgKCFiYXNlNTgpIHRocm93IG5ldyBFcnJvcignYnM1OCBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJ0b2EoSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pKTtcbiAgICB9XG5cbiAgICBpZiAoJ2FjdGlvbicgaW4gcHJvcHMgJiYgcHJvcHMuYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBidG9hKEpTT04uc3RyaW5naWZ5KHByb3BzLmFjdGlvbikpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgYnlCbG9ja2NoYWluPFQ+KFxuICAgIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbixcbiAgICBhcmdzOiB7c29sYW5hOiBUOyBuZWFyOiBUOyBldGg/OiBUOyBwb2x5Z29uOiBUOyBiYXNlOiBUfVxuICApOiBUIHtcbiAgICBzd2l0Y2ggKGJsb2NrY2hhaW4pIHtcbiAgICAgIGNhc2UgJ3NvbGFuYSc6XG4gICAgICAgIHJldHVybiBhcmdzLnNvbGFuYTtcbiAgICAgIGNhc2UgJ25lYXInOlxuICAgICAgICByZXR1cm4gYXJncy5uZWFyO1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIHJldHVybiBhcmdzLnBvbHlnb247XG4gICAgICBjYXNlICdldGgnOlxuICAgICAgICBpZiAoYXJncy5ldGggPT09IHVuZGVmaW5lZClcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBvcGVyYXRpb24hJyk7XG4gICAgICAgIHJldHVybiBhcmdzLmV0aDtcbiAgICAgIGNhc2UgJ2Jhc2UnOlxuICAgICAgICByZXR1cm4gYXJncy5iYXNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIG5vdCBzdXBwb3J0ZWQhJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
let web3;
|
|
2
|
+
let base58;
|
|
3
|
+
try {
|
|
4
|
+
web3 = require('@solana/web3.js');
|
|
5
|
+
base58 = require('bs58');
|
|
6
|
+
}
|
|
7
|
+
catch (e) { }
|
|
8
|
+
export { web3, base58 };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29sYW5hUGVlckRlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vU29sYW5hUGVlckRlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxJQUFrRCxDQUFDO0FBQ3ZELElBQUksTUFBeUMsQ0FBQztBQUU5QyxJQUFJLENBQUM7SUFDSCxJQUFJLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7QUFFZCxPQUFPLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsibGV0IHdlYjM6IHR5cGVvZiBpbXBvcnQoJ0Bzb2xhbmEvd2ViMy5qcycpIHwgdW5kZWZpbmVkO1xubGV0IGJhc2U1ODogdHlwZW9mIGltcG9ydCgnYnM1OCcpIHwgdW5kZWZpbmVkO1xuXG50cnkge1xuICB3ZWIzID0gcmVxdWlyZSgnQHNvbGFuYS93ZWIzLmpzJyk7XG4gIGJhc2U1OCA9IHJlcXVpcmUoJ2JzNTgnKTtcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCB7d2ViMywgYmFzZTU4fTtcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './CoinflowTypes';
|
|
2
|
+
export * from './CoinflowUtils';
|
|
3
|
+
export * from './CoinflowLibMessageHandlers';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db2luZmxvd1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMnO1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of coinflowlabs
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/coinflow-iframe.component';
|
|
5
|
+
export * from './lib/coinflow-purchase.component';
|
|
6
|
+
export * from './lib/coinflow-purchase-history.component';
|
|
7
|
+
export * from './lib/coinflow-purchase-protection.component';
|
|
8
|
+
export * from './lib/coinflow-withdraw.component';
|
|
9
|
+
export * from './lib/coinflow-withdraw-history.component';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb2luZmxvd2xhYnNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2luZmxvdy1pZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvaW5mbG93LXB1cmNoYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2luZmxvdy1wdXJjaGFzZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2luZmxvdy1wdXJjaGFzZS1wcm90ZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2luZmxvdy13aXRoZHJhdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29pbmZsb3ctd2l0aGRyYXctaGlzdG9yeS5jb21wb25lbnQnO1xuIl19
|