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