@coinflowlabs/angular 1.0.1 → 1.0.3

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.
Files changed (33) hide show
  1. package/README.md +18 -0
  2. package/fesm2022/coinflowlabs-angular.mjs +98 -56
  3. package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
  4. package/lib/common/CoinflowLibMessageHandlers.d.ts +1 -1
  5. package/lib/common/CoinflowTypes.d.ts +35 -5
  6. package/lib/common/CoinflowUtils.d.ts +7 -2
  7. package/package.json +1 -3
  8. package/esm2022/coinflowlabs-angular.mjs +0 -5
  9. package/esm2022/lib/card-form/CardFormService.mjs +0 -64
  10. package/esm2022/lib/card-form/coinflow-card-number-input.component.mjs +0 -53
  11. package/esm2022/lib/card-form/coinflow-card-number-only-input.component.mjs +0 -53
  12. package/esm2022/lib/card-form/coinflow-cvv-input.component.mjs +0 -20
  13. package/esm2022/lib/card-form/coinflow-cvv-only-input.component.mjs +0 -70
  14. package/esm2022/lib/coinflow-iframe.component.mjs +0 -73
  15. package/esm2022/lib/coinflow-purchase-history.component.mjs +0 -16
  16. package/esm2022/lib/coinflow-purchase-protection.component.mjs +0 -16
  17. package/esm2022/lib/coinflow-purchase.component.mjs +0 -32
  18. package/esm2022/lib/coinflow-withdraw-history.component.mjs +0 -16
  19. package/esm2022/lib/coinflow-withdraw.component.mjs +0 -32
  20. package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +0 -207
  21. package/esm2022/lib/common/CoinflowTypes.mjs +0 -26
  22. package/esm2022/lib/common/CoinflowUtils.mjs +0 -219
  23. package/esm2022/lib/common/SolanaPeerDeps.mjs +0 -17
  24. package/esm2022/lib/common/Subtotal.mjs +0 -8
  25. package/esm2022/lib/common/card-form/TokenEx.mjs +0 -11
  26. package/esm2022/lib/common/card-form/tokenexHelpers.mjs +0 -157
  27. package/esm2022/lib/common/index.mjs +0 -7
  28. package/esm2022/lib/mobile-wallet/apple-pay-overlay.component.mjs +0 -93
  29. package/esm2022/lib/mobile-wallet/coinflow-apple-pay-button.component.mjs +0 -106
  30. package/esm2022/lib/mobile-wallet/coinflow-google-pay-button.component.mjs +0 -43
  31. package/esm2022/lib/mobile-wallet/coinflow-mobile-wallet-button.component.mjs +0 -96
  32. package/esm2022/lib/mobile-wallet/google-pay-overlay.component.mjs +0 -124
  33. package/esm2022/public-api.mjs +0 -16
@@ -1,32 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { getHandlers, getWalletPubkey, } from './common';
3
- import { CoinflowIFrameComponent } from './coinflow-iframe.component';
4
- import * as i0 from "@angular/core";
5
- export class CoinflowWithdrawComponent {
6
- ngOnInit() {
7
- const walletPubkey = getWalletPubkey(this.withdrawProps);
8
- this.messageHandlers = getHandlers(this.withdrawProps);
9
- this.messageHandlers.handleHeightChange =
10
- this.withdrawProps.handleHeightChange;
11
- this.iframeProps = {
12
- ...this.withdrawProps,
13
- walletPubkey,
14
- route: `/withdraw/${this.withdrawProps?.merchantId}`,
15
- transaction: undefined,
16
- };
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowWithdrawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CoinflowWithdrawComponent, isStandalone: true, selector: "lib-coinflow-withdraw", inputs: { withdrawProps: "withdrawProps" }, ngImport: i0, template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ', isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"], outputs: ["messageEvent"] }] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowWithdrawComponent, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'lib-coinflow-withdraw',
25
- standalone: true,
26
- imports: [CoinflowIFrameComponent],
27
- template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ',
28
- }]
29
- }], propDecorators: { withdrawProps: [{
30
- type: Input
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbmZsb3ctd2l0aGRyYXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29pbmZsb3dsYWJzL3NyYy9saWIvY29pbmZsb3ctd2l0aGRyYXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFJTCxXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFTcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsWUFBWTtZQUNaLEtBQUssRUFBRSxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFO1lBQ3BELFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDOytHQWpCVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw2SEFGbEMseUpBQXlKLDREQUZqSix1QkFBdUI7OzRGQUl0Qix5QkFBeUI7a0JBUHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxRQUFRLEVBQ04seUpBQXlKO2lCQUM1Sjs4QkFFVSxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvaW5mbG93SUZyYW1lUHJvcHMsXG4gIENvaW5mbG93V2l0aGRyYXdQcm9wcyxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICBnZXRIYW5kbGVycyxcbiAgZ2V0V2FsbGV0UHVia2V5LFxufSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQge0NvaW5mbG93SUZyYW1lQ29tcG9uZW50fSBmcm9tICcuL2NvaW5mbG93LWlmcmFtZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29pbmZsb3ctd2l0aGRyYXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29pbmZsb3dJRnJhbWVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTpcbiAgICAnICA8bGliLWNvaW5mbG93LWlmcmFtZSBuZy1pZj1cImlmcmFtZVByb3BzICYmIG1lc3NhZ2VIYW5kbGVyc1wiIFtpZnJhbWVQcm9wc109XCJpZnJhbWVQcm9wcyFcIiBbbWVzc2FnZUhhbmRsZXJzXT1cIm1lc3NhZ2VIYW5kbGVycyFcIj48L2xpYi1jb2luZmxvdy1pZnJhbWU+ICcsXG59KVxuZXhwb3J0IGNsYXNzIENvaW5mbG93V2l0aGRyYXdDb21wb25lbnQge1xuICBASW5wdXQoKSB3aXRoZHJhd1Byb3BzITogQ29pbmZsb3dXaXRoZHJhd1Byb3BzO1xuICBpZnJhbWVQcm9wcz86IENvaW5mbG93SUZyYW1lUHJvcHM7XG4gIG1lc3NhZ2VIYW5kbGVycz86IElGcmFtZU1lc3NhZ2VIYW5kbGVycztcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB3YWxsZXRQdWJrZXkgPSBnZXRXYWxsZXRQdWJrZXkodGhpcy53aXRoZHJhd1Byb3BzKTtcbiAgICB0aGlzLm1lc3NhZ2VIYW5kbGVycyA9IGdldEhhbmRsZXJzKHRoaXMud2l0aGRyYXdQcm9wcyk7XG4gICAgdGhpcy5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlSGVpZ2h0Q2hhbmdlID1cbiAgICAgIHRoaXMud2l0aGRyYXdQcm9wcy5oYW5kbGVIZWlnaHRDaGFuZ2U7XG5cbiAgICB0aGlzLmlmcmFtZVByb3BzID0ge1xuICAgICAgLi4udGhpcy53aXRoZHJhd1Byb3BzLFxuICAgICAgd2FsbGV0UHVia2V5LFxuICAgICAgcm91dGU6IGAvd2l0aGRyYXcvJHt0aGlzLndpdGhkcmF3UHJvcHM/Lm1lcmNoYW50SWR9YCxcbiAgICAgIHRyYW5zYWN0aW9uOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,207 +0,0 @@
1
- import { CoinflowUtils } from './CoinflowUtils';
2
- import { web3, base58 } from './SolanaPeerDeps';
3
- var IFrameMessageMethods;
4
- (function (IFrameMessageMethods) {
5
- IFrameMessageMethods["SignMessage"] = "signMessage";
6
- IFrameMessageMethods["SignTransaction"] = "signTransaction";
7
- IFrameMessageMethods["SendTransaction"] = "sendTransaction";
8
- IFrameMessageMethods["HeightChange"] = "heightChange";
9
- IFrameMessageMethods["Success"] = "success";
10
- IFrameMessageMethods["Loaded"] = "loaded";
11
- })(IFrameMessageMethods || (IFrameMessageMethods = {}));
12
- export function getWalletPubkey(input) {
13
- let wallet;
14
- if ('signer' in input &&
15
- typeof input.signer === 'object' &&
16
- input.signer &&
17
- 'wallet' in input.signer)
18
- wallet = input.signer.wallet;
19
- else if ('wallet' in input && input.wallet)
20
- wallet = input.wallet;
21
- if (!wallet)
22
- return;
23
- if (typeof wallet === 'string')
24
- return wallet;
25
- if (typeof wallet === 'object') {
26
- if ('publicKey' in wallet)
27
- return wallet.publicKey ? wallet.publicKey.toString() : undefined;
28
- if ('address' in wallet)
29
- return wallet.address ? wallet.address : undefined;
30
- if ('accountId' in wallet)
31
- return wallet.accountId ? wallet.accountId : undefined;
32
- }
33
- return null;
34
- }
35
- export function handleIFrameMessage(rawMessage, handlers) {
36
- let walletCall;
37
- try {
38
- walletCall = JSON.parse(rawMessage);
39
- if (!('method' in walletCall) || !('data' in walletCall))
40
- return;
41
- }
42
- catch (e) {
43
- console.error('handleIFrameMessage JSON parse', e);
44
- return;
45
- }
46
- const { data, method } = walletCall;
47
- switch (method) {
48
- case IFrameMessageMethods.SignMessage:
49
- if (!handlers.handleSignMessage)
50
- return;
51
- return handlers.handleSignMessage(data);
52
- case IFrameMessageMethods.SignTransaction:
53
- if (!handlers.handleSignTransaction)
54
- return;
55
- return handlers.handleSignTransaction(data);
56
- case IFrameMessageMethods.SendTransaction:
57
- return handlers.handleSendTransaction(data);
58
- case IFrameMessageMethods.HeightChange:
59
- if (!handlers.handleHeightChange)
60
- return;
61
- return handlers.handleHeightChange(data);
62
- case IFrameMessageMethods.Success:
63
- if (!handlers.onSuccess)
64
- return;
65
- handlers.onSuccess(walletCall.info);
66
- return;
67
- case IFrameMessageMethods.Loaded:
68
- return;
69
- }
70
- console.warn(`Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`);
71
- }
72
- export function getHandlers(props) {
73
- let chain;
74
- let wallet;
75
- if ('signer' in props &&
76
- typeof props.signer === 'object' &&
77
- props.signer &&
78
- 'blockchain' in props.signer &&
79
- 'wallet' in props.signer) {
80
- chain = props.signer.blockchain;
81
- wallet = props.signer.wallet;
82
- }
83
- else if ('blockchain' in props && props.blockchain) {
84
- chain = props.blockchain;
85
- wallet = props.wallet;
86
- }
87
- if (!chain) {
88
- return {
89
- handleSendTransaction: () => {
90
- throw new Error('handleSendTransaction Not Implemented');
91
- },
92
- handleSignMessage: () => {
93
- throw new Error('handleSendTransaction Not Implemented');
94
- },
95
- handleSignTransaction: () => {
96
- throw new Error('handleSendTransaction Not Implemented');
97
- },
98
- onSuccess: props.onSuccess,
99
- };
100
- }
101
- return CoinflowUtils.byBlockchain(chain, {
102
- solana: () => getSolanaWalletHandlers({
103
- wallet: wallet,
104
- onSuccess: props.onSuccess,
105
- }),
106
- near: () => getNearWalletHandlers({
107
- wallet: wallet,
108
- onSuccess: props.onSuccess,
109
- }),
110
- eth: () => getEvmWalletHandlers({
111
- wallet: wallet,
112
- onSuccess: props.onSuccess,
113
- }),
114
- polygon: () => getEvmWalletHandlers({
115
- wallet: wallet,
116
- onSuccess: props.onSuccess,
117
- }),
118
- base: () => getEvmWalletHandlers({
119
- wallet: wallet,
120
- onSuccess: props.onSuccess,
121
- }),
122
- arbitrum: () => getEvmWalletHandlers({
123
- wallet: wallet,
124
- onSuccess: props.onSuccess,
125
- }),
126
- user: () => getSessionKeyHandlers(props),
127
- })();
128
- }
129
- function getSolanaWalletHandlers({ wallet, onSuccess, }) {
130
- return {
131
- handleSendTransaction: async (transaction) => {
132
- const tx = getSolanaTransaction(transaction);
133
- return await wallet.sendTransaction(tx);
134
- },
135
- handleSignMessage: async (message) => {
136
- const signMessage = wallet.signMessage;
137
- if (!signMessage) {
138
- throw new Error('signMessage is not supported by this wallet');
139
- }
140
- const signedMessage = await signMessage(new TextEncoder().encode(message));
141
- if (!base58)
142
- throw new Error('bs58 dependency is required');
143
- return base58.encode(signedMessage);
144
- },
145
- handleSignTransaction: async (transaction) => {
146
- const signTransaction = wallet.signTransaction;
147
- if (!signTransaction) {
148
- throw new Error('signTransaction is not supported by this wallet');
149
- }
150
- const tx = getSolanaTransaction(transaction);
151
- const signedTransaction = await signTransaction(tx);
152
- if (!base58)
153
- throw new Error('bs58 dependency is required');
154
- return base58.encode(signedTransaction.serialize({
155
- requireAllSignatures: false,
156
- verifySignatures: false,
157
- }));
158
- },
159
- onSuccess,
160
- };
161
- }
162
- function getSolanaTransaction(data) {
163
- if (!web3)
164
- throw new Error('@solana/web3.js is not defined. Please install @solana/web3.js into your project');
165
- if (!base58)
166
- throw new Error('bs58 is not defined. Please install bs58 into your project');
167
- const parsedUInt8Array = base58.decode(data);
168
- const vtx = web3.VersionedTransaction.deserialize(parsedUInt8Array);
169
- if (vtx.version === 'legacy')
170
- return web3.Transaction.from(parsedUInt8Array);
171
- return vtx;
172
- }
173
- function getNearWalletHandlers({ wallet, onSuccess, }) {
174
- return {
175
- handleSendTransaction: async (transaction) => {
176
- const action = JSON.parse(Buffer.from(transaction, 'base64').toString());
177
- const executionOutcome = await wallet.signAndSendTransaction(action);
178
- if (!executionOutcome)
179
- throw new Error('Transaction did not send');
180
- const { transaction: transactionResult } = executionOutcome;
181
- return transactionResult.hash;
182
- },
183
- onSuccess,
184
- };
185
- }
186
- function getEvmWalletHandlers({ wallet, onSuccess, }) {
187
- return {
188
- handleSendTransaction: async (transaction) => {
189
- const tx = JSON.parse(Buffer.from(transaction, 'base64').toString());
190
- const { hash } = await wallet.sendTransaction(tx);
191
- return hash;
192
- },
193
- handleSignMessage: async (message) => {
194
- return wallet.signMessage(message);
195
- },
196
- onSuccess,
197
- };
198
- }
199
- function getSessionKeyHandlers({ onSuccess, }) {
200
- return {
201
- handleSendTransaction: async () => {
202
- return Promise.resolve('');
203
- },
204
- onSuccess,
205
- };
206
- }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vQ29pbmZsb3dMaWJNZXNzYWdlSGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFvQjlDLElBQUssb0JBT0o7QUFQRCxXQUFLLG9CQUFvQjtJQUN2QixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQywyREFBbUMsQ0FBQTtJQUNuQyxxREFBNkIsQ0FBQTtJQUM3QiwyQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQU94QjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQzdCLEtBQTJEO0lBRTNELElBQUksTUFBK0IsQ0FBQztJQUNwQyxJQUNFLFFBQVEsSUFBSSxLQUFLO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQ2hDLEtBQUssQ0FBQyxNQUFNO1FBQ1osUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNO1FBRXhCLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQXFCLENBQUM7U0FDekMsSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNO1FBQUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFFbEUsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPO0lBRXBCLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRTlDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxXQUFX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Q0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxTQUFTO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEVBQzdCLFNBQVMsR0FDZ0M7SUFJekMsT0FBTztRQUNMLHFCQUFxQixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsU0FBUztLQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29pbmZsb3dCbG9ja2NoYWluLFxuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG4gIEV0aFdhbGxldCxcbiAgTmVhcldhbGxldCxcbiAgT25TdWNjZXNzTWV0aG9kLFxuICBTb2xhbmFXYWxsZXQsXG4gIFdhbGxldFR5cGVzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHtDb2luZmxvd1V0aWxzfSBmcm9tICcuL0NvaW5mbG93VXRpbHMnO1xuaW1wb3J0IHR5cGUge1RyYW5zYWN0aW9uLCBWZXJzaW9uZWRUcmFuc2FjdGlvbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7d2ViMywgYmFzZTU4fSBmcm9tICcuL1NvbGFuYVBlZXJEZXBzJztcblxuZXhwb3J0IHR5cGUgV2FsbGV0Q2FsbCA9XG4gIHwge21ldGhvZDogSUZyYW1lTWVzc2FnZU1ldGhvZHM7IGRhdGE6IHN0cmluZ31cbiAgfCBTdWNjZXNzV2FsbGV0Q2FsbDtcblxudHlwZSBTdWNjZXNzV2FsbGV0Q2FsbCA9IHtcbiAgbWV0aG9kOiBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TdWNjZXNzO1xuICBkYXRhOiBzdHJpbmc7XG4gIGluZm86IHtwYXltZW50SWQ6IHN0cmluZzsgaGFzaD86IHN0cmluZ307XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElGcmFtZU1lc3NhZ2VIYW5kbGVycyB7XG4gIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgaGFuZGxlU2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGhhbmRsZVNpZ25UcmFuc2FjdGlvbj86ICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGhhbmRsZUhlaWdodENoYW5nZT86IChoZWlnaHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TdWNjZXNzOiBPblN1Y2Nlc3NNZXRob2QgfCB1bmRlZmluZWQ7XG59XG5cbmVudW0gSUZyYW1lTWVzc2FnZU1ldGhvZHMge1xuICBTaWduTWVzc2FnZSA9ICdzaWduTWVzc2FnZScsXG4gIFNpZ25UcmFuc2FjdGlvbiA9ICdzaWduVHJhbnNhY3Rpb24nLFxuICBTZW5kVHJhbnNhY3Rpb24gPSAnc2VuZFRyYW5zYWN0aW9uJyxcbiAgSGVpZ2h0Q2hhbmdlID0gJ2hlaWdodENoYW5nZScsXG4gIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gIExvYWRlZCA9ICdsb2FkZWQnLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2FsbGV0UHVia2V5KFxuICBpbnB1dDogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnIHwgJ2Jsb2NrY2hhaW4nPlxuKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gIGxldCB3YWxsZXQ6IFdhbGxldFR5cGVzIHwgdW5kZWZpbmVkO1xuICBpZiAoXG4gICAgJ3NpZ25lcicgaW4gaW5wdXQgJiZcbiAgICB0eXBlb2YgaW5wdXQuc2lnbmVyID09PSAnb2JqZWN0JyAmJlxuICAgIGlucHV0LnNpZ25lciAmJlxuICAgICd3YWxsZXQnIGluIGlucHV0LnNpZ25lclxuICApXG4gICAgd2FsbGV0ID0gaW5wdXQuc2lnbmVyLndhbGxldCBhcyBXYWxsZXRUeXBlcztcbiAgZWxzZSBpZiAoJ3dhbGxldCcgaW4gaW5wdXQgJiYgaW5wdXQud2FsbGV0KSB3YWxsZXQgPSBpbnB1dC53YWxsZXQ7XG5cbiAgaWYgKCF3YWxsZXQpIHJldHVybjtcblxuICBpZiAodHlwZW9mIHdhbGxldCA9PT0gJ3N0cmluZycpIHJldHVybiB3YWxsZXQ7XG5cbiAgaWYgKHR5cGVvZiB3YWxsZXQgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKCdwdWJsaWNLZXknIGluIHdhbGxldClcbiAgICAgIHJldHVybiB3YWxsZXQucHVibGljS2V5ID8gd2FsbGV0LnB1YmxpY0tleS50b1N0cmluZygpIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKCdhZGRyZXNzJyBpbiB3YWxsZXQpXG4gICAgICByZXR1cm4gd2FsbGV0LmFkZHJlc3MgPyAod2FsbGV0LmFkZHJlc3MgYXMgc3RyaW5nKSA6IHVuZGVmaW5lZDtcblxuICAgIGlmICgnYWNjb3VudElkJyBpbiB3YWxsZXQpXG4gICAgICByZXR1cm4gd2FsbGV0LmFjY291bnRJZCA/ICh3YWxsZXQuYWNjb3VudElkIGFzIHN0cmluZykgOiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUlGcmFtZU1lc3NhZ2UoXG4gIHJhd01lc3NhZ2U6IHN0cmluZyxcbiAgaGFuZGxlcnM6IElGcmFtZU1lc3NhZ2VIYW5kbGVyc1xuKTogUHJvbWlzZTxzdHJpbmc+IHwgdm9pZCB7XG4gIGxldCB3YWxsZXRDYWxsOiBXYWxsZXRDYWxsO1xuICB0cnkge1xuICAgIHdhbGxldENhbGwgPSBKU09OLnBhcnNlKHJhd01lc3NhZ2UpO1xuICAgIGlmICghKCdtZXRob2QnIGluIHdhbGxldENhbGwpIHx8ICEoJ2RhdGEnIGluIHdhbGxldENhbGwpKSByZXR1cm47XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKCdoYW5kbGVJRnJhbWVNZXNzYWdlIEpTT04gcGFyc2UnLCBlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7ZGF0YSwgbWV0aG9kfSA9IHdhbGxldENhbGw7XG4gIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgY2FzZSBJRnJhbWVNZXNzYWdlTWV0aG9kcy5TaWduTWVzc2FnZTpcbiAgICAgIGlmICghaGFuZGxlcnMuaGFuZGxlU2lnbk1lc3NhZ2UpIHJldHVybjtcbiAgICAgIHJldHVybiBoYW5kbGVycy5oYW5kbGVTaWduTWVzc2FnZShkYXRhKTtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLlNpZ25UcmFuc2FjdGlvbjpcbiAgICAgIGlmICghaGFuZGxlcnMuaGFuZGxlU2lnblRyYW5zYWN0aW9uKSByZXR1cm47XG4gICAgICByZXR1cm4gaGFuZGxlcnMuaGFuZGxlU2lnblRyYW5zYWN0aW9uKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuU2VuZFRyYW5zYWN0aW9uOlxuICAgICAgcmV0dXJuIGhhbmRsZXJzLmhhbmRsZVNlbmRUcmFuc2FjdGlvbihkYXRhKTtcbiAgICBjYXNlIElGcmFtZU1lc3NhZ2VNZXRob2RzLkhlaWdodENoYW5nZTpcbiAgICAgIGlmICghaGFuZGxlcnMuaGFuZGxlSGVpZ2h0Q2hhbmdlKSByZXR1cm47XG4gICAgICByZXR1cm4gaGFuZGxlcnMuaGFuZGxlSGVpZ2h0Q2hhbmdlKGRhdGEpO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuU3VjY2VzczpcbiAgICAgIGlmICghaGFuZGxlcnMub25TdWNjZXNzKSByZXR1cm47XG4gICAgICBoYW5kbGVycy5vblN1Y2Nlc3MoKHdhbGxldENhbGwgYXMgU3VjY2Vzc1dhbGxldENhbGwpLmluZm8pO1xuICAgICAgcmV0dXJuO1xuICAgIGNhc2UgSUZyYW1lTWVzc2FnZU1ldGhvZHMuTG9hZGVkOlxuICAgICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc29sZS53YXJuKFxuICAgIGBEaWRuJ3QgZXhwZWN0IHRvIGdldCBoZXJlLCBoYW5kbGVJRnJhbWVNZXNzYWdlIG1ldGhvZDoke21ldGhvZH0gaXMgbm90IG9uZSBvZiAke09iamVjdC52YWx1ZXMoSUZyYW1lTWVzc2FnZU1ldGhvZHMpfWBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhhbmRsZXJzKFxuICBwcm9wczogUGljazxDb2luZmxvd1B1cmNoYXNlUHJvcHMsICd3YWxsZXQnIHwgJ2Jsb2NrY2hhaW4nIHwgJ29uU3VjY2Vzcyc+XG4pOiBPbWl0PElGcmFtZU1lc3NhZ2VIYW5kbGVycywgJ2hhbmRsZUhlaWdodENoYW5nZSc+IHtcbiAgbGV0IGNoYWluOiBDb2luZmxvd0Jsb2NrY2hhaW4gfCB1bmRlZmluZWQ7XG4gIGxldCB3YWxsZXQ6IFdhbGxldFR5cGVzIHwgdW5kZWZpbmVkO1xuICBpZiAoXG4gICAgJ3NpZ25lcicgaW4gcHJvcHMgJiZcbiAgICB0eXBlb2YgcHJvcHMuc2lnbmVyID09PSAnb2JqZWN0JyAmJlxuICAgIHByb3BzLnNpZ25lciAmJlxuICAgICdibG9ja2NoYWluJyBpbiBwcm9wcy5zaWduZXIgJiZcbiAgICAnd2FsbGV0JyBpbiBwcm9wcy5zaWduZXJcbiAgKSB7XG4gICAgY2hhaW4gPSBwcm9wcy5zaWduZXIuYmxvY2tjaGFpbiBhcyBDb2luZmxvd0Jsb2NrY2hhaW47XG4gICAgd2FsbGV0ID0gcHJvcHMuc2lnbmVyLndhbGxldCBhcyBXYWxsZXRUeXBlcztcbiAgfSBlbHNlIGlmICgnYmxvY2tjaGFpbicgaW4gcHJvcHMgJiYgcHJvcHMuYmxvY2tjaGFpbikge1xuICAgIGNoYWluID0gcHJvcHMuYmxvY2tjaGFpbjtcbiAgICB3YWxsZXQgPSBwcm9wcy53YWxsZXQ7XG4gIH1cblxuICBpZiAoIWNoYWluKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hhbmRsZVNlbmRUcmFuc2FjdGlvbiBOb3QgSW1wbGVtZW50ZWQnKTtcbiAgICAgIH0sXG4gICAgICBoYW5kbGVTaWduTWVzc2FnZTogKCkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hhbmRsZVNlbmRUcmFuc2FjdGlvbiBOb3QgSW1wbGVtZW50ZWQnKTtcbiAgICAgIH0sXG4gICAgICBoYW5kbGVTaWduVHJhbnNhY3Rpb246ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdoYW5kbGVTZW5kVHJhbnNhY3Rpb24gTm90IEltcGxlbWVudGVkJyk7XG4gICAgICB9LFxuICAgICAgb25TdWNjZXNzOiBwcm9wcy5vblN1Y2Nlc3MsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBDb2luZmxvd1V0aWxzLmJ5QmxvY2tjaGFpbihjaGFpbiwge1xuICAgIHNvbGFuYTogKCkgPT5cbiAgICAgIGdldFNvbGFuYVdhbGxldEhhbmRsZXJzKHtcbiAgICAgICAgd2FsbGV0OiB3YWxsZXQgYXMgU29sYW5hV2FsbGV0LFxuICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICAgIH0pLFxuICAgIG5lYXI6ICgpID0+XG4gICAgICBnZXROZWFyV2FsbGV0SGFuZGxlcnMoe1xuICAgICAgICB3YWxsZXQ6IHdhbGxldCBhcyBOZWFyV2FsbGV0LFxuICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICAgIH0pLFxuICAgIGV0aDogKCkgPT5cbiAgICAgIGdldEV2bVdhbGxldEhhbmRsZXJzKHtcbiAgICAgICAgd2FsbGV0OiB3YWxsZXQgYXMgRXRoV2FsbGV0LFxuICAgICAgICBvblN1Y2Nlc3M6IHByb3BzLm9uU3VjY2VzcyxcbiAgICAgIH0pLFxuICAgIHBvbHlnb246ICgpID0+XG4gICAgICBnZXRFdm1XYWxsZXRIYW5kbGVycyh7XG4gICAgICAgIHdhbGxldDogd2FsbGV0IGFzIEV0aFdhbGxldCxcbiAgICAgICAgb25TdWNjZXNzOiBwcm9wcy5vblN1Y2Nlc3MsXG4gICAgICB9KSxcbiAgICBiYXNlOiAoKSA9PlxuICAgICAgZ2V0RXZtV2FsbGV0SGFuZGxlcnMoe1xuICAgICAgICB3YWxsZXQ6IHdhbGxldCBhcyBFdGhXYWxsZXQsXG4gICAgICAgIG9uU3VjY2VzczogcHJvcHMub25TdWNjZXNzLFxuICAgICAgfSksXG4gICAgYXJiaXRydW06ICgpID0+XG4gICAgICBnZXRFdm1XYWxsZXRIYW5kbGVycyh7XG4gICAgICAgIHdhbGxldDogd2FsbGV0IGFzIEV0aFdhbGxldCxcbiAgICAgICAgb25TdWNjZXNzOiBwcm9wcy5vblN1Y2Nlc3MsXG4gICAgICB9KSxcbiAgICB1c2VyOiAoKSA9PiBnZXRTZXNzaW9uS2V5SGFuZGxlcnMocHJvcHMpLFxuICB9KSgpO1xufVxuXG5mdW5jdGlvbiBnZXRTb2xhbmFXYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbiAgb25TdWNjZXNzLFxufToge1xuICB3YWxsZXQ6IFNvbGFuYVdhbGxldDtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xufSk6IE9taXQ8SUZyYW1lTWVzc2FnZUhhbmRsZXJzLCAnaGFuZGxlSGVpZ2h0Q2hhbmdlJz4ge1xuICByZXR1cm4ge1xuICAgIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogYXN5bmMgKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0U29sYW5hVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgICAgcmV0dXJuIGF3YWl0IHdhbGxldC5zZW5kVHJhbnNhY3Rpb24odHgpO1xuICAgIH0sXG4gICAgaGFuZGxlU2lnbk1lc3NhZ2U6IGFzeW5jIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHNpZ25NZXNzYWdlID0gd2FsbGV0LnNpZ25NZXNzYWdlO1xuICAgICAgaWYgKCFzaWduTWVzc2FnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NpZ25NZXNzYWdlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyB3YWxsZXQnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2lnbmVkTWVzc2FnZSA9IGF3YWl0IHNpZ25NZXNzYWdlKFxuICAgICAgICBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUobWVzc2FnZSlcbiAgICAgICk7XG4gICAgICBpZiAoIWJhc2U1OCkgdGhyb3cgbmV3IEVycm9yKCdiczU4IGRlcGVuZGVuY3kgaXMgcmVxdWlyZWQnKTtcbiAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKHNpZ25lZE1lc3NhZ2UpO1xuICAgIH0sXG4gICAgaGFuZGxlU2lnblRyYW5zYWN0aW9uOiBhc3luYyAodHJhbnNhY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2lnblRyYW5zYWN0aW9uID0gd2FsbGV0LnNpZ25UcmFuc2FjdGlvbjtcbiAgICAgIGlmICghc2lnblRyYW5zYWN0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2lnblRyYW5zYWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyB3YWxsZXQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHR4ID0gZ2V0U29sYW5hVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgICAgY29uc3Qgc2lnbmVkVHJhbnNhY3Rpb24gPSBhd2FpdCBzaWduVHJhbnNhY3Rpb24odHgpO1xuICAgICAgaWYgKCFiYXNlNTgpIHRocm93IG5ldyBFcnJvcignYnM1OCBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkJyk7XG4gICAgICByZXR1cm4gYmFzZTU4LmVuY29kZShcbiAgICAgICAgc2lnbmVkVHJhbnNhY3Rpb24uc2VyaWFsaXplKHtcbiAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgdmVyaWZ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0sXG4gICAgb25TdWNjZXNzLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTb2xhbmFUcmFuc2FjdGlvbihcbiAgZGF0YTogc3RyaW5nXG4pOiBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uIHtcbiAgaWYgKCF3ZWIzKVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdAc29sYW5hL3dlYjMuanMgaXMgbm90IGRlZmluZWQuIFBsZWFzZSBpbnN0YWxsIEBzb2xhbmEvd2ViMy5qcyBpbnRvIHlvdXIgcHJvamVjdCdcbiAgICApO1xuXG4gIGlmICghYmFzZTU4KVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdiczU4IGlzIG5vdCBkZWZpbmVkLiBQbGVhc2UgaW5zdGFsbCBiczU4IGludG8geW91ciBwcm9qZWN0J1xuICAgICk7XG5cbiAgY29uc3QgcGFyc2VkVUludDhBcnJheSA9IGJhc2U1OC5kZWNvZGUoZGF0YSk7XG4gIGNvbnN0IHZ0eCA9IHdlYjMuVmVyc2lvbmVkVHJhbnNhY3Rpb24uZGVzZXJpYWxpemUocGFyc2VkVUludDhBcnJheSk7XG4gIGlmICh2dHgudmVyc2lvbiA9PT0gJ2xlZ2FjeScpIHJldHVybiB3ZWIzLlRyYW5zYWN0aW9uLmZyb20ocGFyc2VkVUludDhBcnJheSk7XG4gIHJldHVybiB2dHg7XG59XG5cbmZ1bmN0aW9uIGdldE5lYXJXYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbiAgb25TdWNjZXNzLFxufToge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbn0pOiBPbWl0PElGcmFtZU1lc3NhZ2VIYW5kbGVycywgJ2hhbmRsZUhlaWdodENoYW5nZSc+IHtcbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVTZW5kVHJhbnNhY3Rpb246IGFzeW5jICh0cmFuc2FjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKHRyYW5zYWN0aW9uLCAnYmFzZTY0JykudG9TdHJpbmcoKSk7XG4gICAgICBjb25zdCBleGVjdXRpb25PdXRjb21lID0gYXdhaXQgd2FsbGV0LnNpZ25BbmRTZW5kVHJhbnNhY3Rpb24oYWN0aW9uKTtcbiAgICAgIGlmICghZXhlY3V0aW9uT3V0Y29tZSkgdGhyb3cgbmV3IEVycm9yKCdUcmFuc2FjdGlvbiBkaWQgbm90IHNlbmQnKTtcbiAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbjogdHJhbnNhY3Rpb25SZXN1bHR9ID0gZXhlY3V0aW9uT3V0Y29tZTtcbiAgICAgIHJldHVybiB0cmFuc2FjdGlvblJlc3VsdC5oYXNoO1xuICAgIH0sXG4gICAgb25TdWNjZXNzLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRFdm1XYWxsZXRIYW5kbGVycyh7XG4gIHdhbGxldCxcbiAgb25TdWNjZXNzLFxufToge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xufSk6IE9taXQ8SUZyYW1lTWVzc2FnZUhhbmRsZXJzLCAnaGFuZGxlSGVpZ2h0Q2hhbmdlJz4ge1xuICByZXR1cm4ge1xuICAgIGhhbmRsZVNlbmRUcmFuc2FjdGlvbjogYXN5bmMgKHRyYW5zYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbSh0cmFuc2FjdGlvbiwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCkpO1xuICAgICAgY29uc3Qge2hhc2h9ID0gYXdhaXQgd2FsbGV0LnNlbmRUcmFuc2FjdGlvbih0eCk7XG4gICAgICByZXR1cm4gaGFzaDtcbiAgICB9LFxuICAgIGhhbmRsZVNpZ25NZXNzYWdlOiBhc3luYyAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gd2FsbGV0LnNpZ25NZXNzYWdlKG1lc3NhZ2UpO1xuICAgIH0sXG4gICAgb25TdWNjZXNzLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTZXNzaW9uS2V5SGFuZGxlcnMoe1xuICBvblN1Y2Nlc3MsXG59OiBQaWNrPENvaW5mbG93UHVyY2hhc2VQcm9wcywgJ29uU3VjY2Vzcyc+KTogT21pdDxcbiAgSUZyYW1lTWVzc2FnZUhhbmRsZXJzLFxuICAnaGFuZGxlSGVpZ2h0Q2hhbmdlJ1xuPiB7XG4gIHJldHVybiB7XG4gICAgaGFuZGxlU2VuZFRyYW5zYWN0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCcnKTtcbiAgICB9LFxuICAgIG9uU3VjY2VzcyxcbiAgfTtcbn1cbiJdfQ==
@@ -1,26 +0,0 @@
1
- export var SettlementType;
2
- (function (SettlementType) {
3
- SettlementType["Credits"] = "Credits";
4
- SettlementType["USDC"] = "USDC";
5
- SettlementType["Bank"] = "Bank";
6
- })(SettlementType || (SettlementType = {}));
7
- export var MerchantStyle;
8
- (function (MerchantStyle) {
9
- MerchantStyle["Rounded"] = "rounded";
10
- MerchantStyle["Sharp"] = "sharp";
11
- MerchantStyle["Pill"] = "pill";
12
- })(MerchantStyle || (MerchantStyle = {}));
13
- export var ThreeDsChallengePreference;
14
- (function (ThreeDsChallengePreference) {
15
- ThreeDsChallengePreference["NoPreference"] = "NoPreference";
16
- ThreeDsChallengePreference["Frictionless"] = "Frictionless";
17
- ThreeDsChallengePreference["Challenge"] = "Challenge";
18
- })(ThreeDsChallengePreference || (ThreeDsChallengePreference = {}));
19
- export var CardType;
20
- (function (CardType) {
21
- CardType["VISA"] = "VISA";
22
- CardType["MASTERCARD"] = "MSTR";
23
- CardType["AMEX"] = "AMEX";
24
- CardType["DISCOVER"] = "DISC";
25
- })(CardType || (CardType = {}));
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBNE9ELE1BQU0sQ0FBTixJQUFZLDBCQUlYO0FBSkQsV0FBWSwwQkFBMEI7SUFDcEMsMkRBQTZCLENBQUE7SUFDN0IsMkRBQTZCLENBQUE7SUFDN0IscURBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFJckM7QUF3U0QsTUFBTSxDQUFOLElBQVksUUFLWDtBQUxELFdBQVksUUFBUTtJQUNsQix5QkFBYSxDQUFBO0lBQ2IsK0JBQW1CLENBQUE7SUFDbkIseUJBQWEsQ0FBQTtJQUNiLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxRQUFRLEtBQVIsUUFBUSxRQUtuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29ubmVjdGlvbixcbiAgVmVyc2lvbmVkVHJhbnNhY3Rpb24sXG4gIFB1YmxpY0tleSxcbiAgU2lnbmVyLFxuICBUcmFuc2FjdGlvbixcbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7U3VidG90YWx9IGZyb20gJy4vU3VidG90YWwnO1xuXG5leHBvcnQgZW51bSBTZXR0bGVtZW50VHlwZSB7XG4gIENyZWRpdHMgPSAnQ3JlZGl0cycsXG4gIFVTREMgPSAnVVNEQycsXG4gIEJhbmsgPSAnQmFuaycsXG59XG5cbmV4cG9ydCBlbnVtIE1lcmNoYW50U3R5bGUge1xuICBSb3VuZGVkID0gJ3JvdW5kZWQnLFxuICBTaGFycCA9ICdzaGFycCcsXG4gIFBpbGwgPSAncGlsbCcsXG59XG5cbmV4cG9ydCB0eXBlIE1lcmNoYW50VGhlbWUgPSB7XG4gIHByaW1hcnk/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRBY2NlbnQyPzogc3RyaW5nO1xuICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIHRleHRDb2xvckFjY2VudD86IHN0cmluZztcbiAgdGV4dENvbG9yQWN0aW9uPzogc3RyaW5nO1xuICBjdGFDb2xvcj86IHN0cmluZztcbiAgZm9udD86IHN0cmluZztcbiAgc3R5bGU/OiBNZXJjaGFudFN0eWxlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckluZm8ge1xuICBuYW1lPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25JZD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNpdHk/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICB6aXA/OiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIGlwPzogc3RyaW5nO1xuICBsYXQ/OiBzdHJpbmc7XG4gIGxuZz86IHN0cmluZztcbn1cblxuLyoqIENvaW5mbG93IFR5cGVzICoqL1xuZXhwb3J0IHR5cGUgQ29pbmZsb3dCbG9ja2NoYWluID1cbiAgfCAnc29sYW5hJ1xuICB8ICduZWFyJ1xuICB8ICdldGgnXG4gIHwgJ3BvbHlnb24nXG4gIHwgJ2Jhc2UnXG4gIHwgJ2FyYml0cnVtJ1xuICB8ICd1c2VyJztcbmV4cG9ydCB0eXBlIENvaW5mbG93RW52cyA9XG4gIHwgJ3Byb2QnXG4gIHwgJ3N0YWdpbmcnXG4gIHwgJ3N0YWdpbmctbGl2ZSdcbiAgfCAnc2FuZGJveCdcbiAgfCAnbG9jYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93VHlwZXMge1xuICBtZXJjaGFudElkOiBzdHJpbmc7XG4gIGVudj86IENvaW5mbG93RW52cztcbiAgbG9hZGVyQmFja2dyb3VuZD86IHN0cmluZztcbiAgYmxvY2tjaGFpbj86IENvaW5mbG93QmxvY2tjaGFpbiB8IHVuZGVmaW5lZDtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKFxuICBhcmdzOlxuICAgIHwge1xuICAgICAgICBwYXltZW50SWQ6IHN0cmluZztcbiAgICAgICAgaGFzaD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IHR5cGUgQXV0aERlY2xpbmVkV2FsbGV0Q2FsbEluZm8gPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdG90YWw6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE9uQXV0aERlY2xpbmVkTWV0aG9kID0gKFxuICBhcmdzOiBBdXRoRGVjbGluZWRXYWxsZXRDYWxsSW5mbyB8IHN0cmluZyB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U2Vzc2lvbktleUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBzZXNzaW9uS2V5OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW4/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dOZWFySGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogTmVhcldhbGxldDtcbiAgYmxvY2tjaGFpbjogJ25lYXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xuICBibG9ja2NoYWluOiAnZXRoJyB8ICdwb2x5Z29uJyB8ICdiYXNlJyB8ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdGhIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QXJiaXRydW1IaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dBcmJpdHJ1bUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93U2Vzc2lvbktleUhpc3RvcnlQcm9wcztcblxuLyoqIFRyYW5zYWN0aW9ucyAqKi9cblxuZXhwb3J0IHR5cGUgTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uID0ge1xuICBtZXRob2ROYW1lOiAnZnRfdHJhbnNmZXJfY2FsbCc7XG4gIGFyZ3M6IG9iamVjdDtcbiAgZ2FzOiBzdHJpbmc7XG4gIGRlcG9zaXQ6IHN0cmluZztcbn07XG5cbnR5cGUgQnl0ZXMgPSBBcnJheUxpa2U8bnVtYmVyPjtcbnR5cGUgQnl0ZXNMaWtlID0gQnl0ZXMgfCBzdHJpbmc7XG5cbnR5cGUgUmF3UHJvZHVjdERhdGEgPSBhbnk7XG5cbi8qKiBQdXJjaGFzZSAqKi9cblxuZXhwb3J0IHR5cGUgQ2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhID0gQ2hhcmdlYmFja1Byb3RlY3Rpb25JdGVtW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcmdlYmFja1Byb3RlY3Rpb25JdGVtIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9kdWN0XG4gICAqL1xuICBwcm9kdWN0TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHByb2R1Y3QgdHlwZS4gUG9zc2libGUgdmFsdWVzIGluY2x1ZGU6IGluR2FtZVByb2R1Y3QsIGdhbWVPZlNraWxsLCBkYXRhU3RvcmFnZSwgY29tcHV0aW5nUmVzb3VyY2VzLCBzcG9ydHNUaWNrZXQsIGVTcG9ydHNUaWNrZXQsIG11c2ljVGlja2V0LCBjb25mZXJlbmNlVGlja2V0LCB2aXJ0dWFsU3BvcnRzVGlja2V0LCB2aXJ0dWFsRVNwb3J0c1RpY2tldCwgdmlydHVhbE11c2ljVGlja2V0LCB2aXJ0dWFsQ29uZmVyZW5jZVRpY2tldCwgYWxjb2hvbCwgRExDLCBzdWJzY3JpcHRpb24sIGZ1bmRBQ2F1c2UsIHJlYWxFc3RhdGUsIGNvbXB1dGluZ0NvbnRyYWN0LCBkaWdpdGFsQXJ0LCB0b3BVcFxuICAgKi9cbiAgcHJvZHVjdFR5cGU6XG4gICAgfCAnaW5HYW1lUHJvZHVjdCdcbiAgICB8ICdnYW1lT2ZTa2lsbCdcbiAgICB8ICdkYXRhU3RvcmFnZSdcbiAgICB8ICdjb21wdXRpbmdSZXNvdXJjZXMnXG4gICAgfCAnc3BvcnRzVGlja2V0J1xuICAgIHwgJ2VTcG9ydHNUaWNrZXQnXG4gICAgfCAnbXVzaWNUaWNrZXQnXG4gICAgfCAnY29uZmVyZW5jZVRpY2tldCdcbiAgICB8ICd2aXJ0dWFsU3BvcnRzVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxFU3BvcnRzVGlja2V0J1xuICAgIHwgJ3ZpcnR1YWxNdXNpY1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsQ29uZmVyZW5jZVRpY2tldCdcbiAgICB8ICdhbGNvaG9sJ1xuICAgIHwgJ0RMQydcbiAgICB8ICdzdWJzY3JpcHRpb24nXG4gICAgfCAnZnVuZEFDYXVzZSdcbiAgICB8ICdyZWFsRXN0YXRlJ1xuICAgIHwgJ2NvbXB1dGluZ0NvbnRyYWN0J1xuICAgIHwgJ2RpZ2l0YWxBcnQnXG4gICAgfCAndG9wVXAnXG4gICAgfCAnb3duZXJzaGlwQ29udHJhY3QnO1xuICAvKipcbiAgICogVGhlIGl0ZW0ncyBsaXN0IHByaWNlXG4gICAqL1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB1bml0cyBzb2xkXG4gICAqL1xuICBxdWFudGl0eTogbnVtYmVyO1xuICAvKipcbiAgICogQW55IGFkZGl0aW9uYWwgZGF0YSB0aGF0IHRoZSBzdG9yZSBjYW4gcHJvdmlkZSBvbiB0aGUgcHJvZHVjdCwgZS5nLiBkZXNjcmlwdGlvbiwgbGluayB0byBpbWFnZSwgZXRjLlxuICAgKi9cbiAgcmF3UHJvZHVjdERhdGE/OiBSYXdQcm9kdWN0RGF0YTtcbn1cblxuZXhwb3J0IGVudW0gVGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2Uge1xuICBOb1ByZWZlcmVuY2UgPSAnTm9QcmVmZXJlbmNlJyxcbiAgRnJpY3Rpb25sZXNzID0gJ0ZyaWN0aW9ubGVzcycsXG4gIENoYWxsZW5nZSA9ICdDaGFsbGVuZ2UnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICBzdWJ0b3RhbD86IFN1YnRvdGFsO1xuICBvblN1Y2Nlc3M/OiBPblN1Y2Nlc3NNZXRob2Q7XG4gIG9uQXV0aERlY2xpbmVkPzogT25BdXRoRGVjbGluZWRNZXRob2Q7XG4gIHdlYmhvb2tJbmZvPzoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YT86IENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YTtcbiAgcGxhbkNvZGU/OiBzdHJpbmc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICBjdXN0b21lckluZm8/OiBDdXN0b21lckluZm87XG4gIHNldHRsZW1lbnRUeXBlPzogU2V0dGxlbWVudFR5cGU7XG4gIGF1dGhPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBEZXZpY2VJRCBnb3R0ZW4gZnJvbSB0aGUgQ29pbmZsb3cgU0RLOlxuICAgKiAgaHR0cHM6Ly9kb2NzLmNvaW5mbG93LmNhc2gvZG9jcy9pbXBsZW1lbnQtY2hhcmdlYmFjay1wcm90ZWN0aW9uI2hvdy10by1hZGQtY2hhcmdlYmFjay1wcm90ZWN0aW9uXG4gICAqXG4gICAqIHdpbmRvdz8ublN1cmVTREs/LmdldERldmljZUlkKClcbiAgICovXG4gIGRldmljZUlkPzogc3RyaW5nO1xuICBqd3RUb2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFlvdXIgY29tcGFueSBlbWFpbCBhZGRyZXNzIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBjb250YWN0LlxuICAgKi9cbiAgc3VwcG9ydEVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgcmVuZGVyaW5nIHRoZSBDb2luZmxvdyBjb21wb25lbnQgd2l0aGluIG11bHRpcGxlIG5lc3RlZCBpZnJhbWVzLCBhbGwgYW5jZXN0b3JzIGluIHRoZSBjaGFpbiBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIFByaW1hcnkgb3JpZ2luIHRoYXQgd2lsbCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBDb2luZmxvdyBpRnJhbWU6IGZvby5jb21cbiAgICogU3Vic2VxdWVudCBvcmlnaW5zIHRoYXQgd2lsbCByZW5kZXIgZm9vLmNvbTogYmFyLmNvbVxuICAgKiBUaGUgb3JpZ2luIGFycmF5IHdvdWxkIHRoZW4gYmU6IFtodHRwczovL2Zvby5jb20saHR0cHM6Ly9iYXIuY29tXVxuICAgKi9cbiAgb3JpZ2lucz86IHN0cmluZ1tdO1xuICB0aHJlZURzQ2hhbGxlbmdlUHJlZmVyZW5jZT86IFRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlO1xuICBkZXN0aW5hdGlvbkF1dGhLZXk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIHRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24gfCBWZXJzaW9uZWRUcmFuc2FjdGlvbjtcbiAgcGFydGlhbFNpZ25lcnM/OiBTaWduZXJbXTtcbiAgZGVidWdUeD86IGJvb2xlYW47XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xuICByZW50Pzoge2xhbXBvcnRzOiBzdHJpbmcgfCBudW1iZXJ9O1xuICBuYXRpdmVTb2xUb0NvbnZlcnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTZXNzaW9uS2V5UHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHNlc3Npb25LZXk6IHN0cmluZztcbiAgd2FsbGV0PzogdW5kZWZpbmVkO1xuICBibG9ja2NoYWluPzogQ29pbmZsb3dCbG9ja2NoYWluIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhclB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbiAgYWN0aW9uPzogTmVhckZ0VHJhbnNmZXJDYWxsQWN0aW9uO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMge1xuICB0cmFuc2FjdGlvbj86IEV2bVRyYW5zYWN0aW9uRGF0YTtcbiAgd2FsbGV0OiBFdGhXYWxsZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2Jhc2UnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QXJiaXRydW1QdXJjaGFzZVByb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2FyYml0cnVtJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dQdXJjaGFzZVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYVB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd1Nlc3Npb25LZXlQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dOZWFyUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dBcmJpdHJ1bVB1cmNoYXNlUHJvcHM7XG5cbi8qKiBXaXRoZHJhdyAqKi9cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xuICB0b2tlbnM/OiBzdHJpbmdbXTtcbiAgbG9ja0RlZmF1bHRUb2tlbj86IGJvb2xlYW47XG4gIGFtb3VudD86IG51bWJlcjtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGJhbmtBY2NvdW50TGlua1JlZGlyZWN0Pzogc3RyaW5nO1xuICBhZGRpdGlvbmFsV2FsbGV0cz86IHtcbiAgICB3YWxsZXQ6IHN0cmluZztcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICdldGgnIHwgJ25lYXInIHwgJ3BvbHlnb24nIHwgJ2Jhc2UnIHwgJ2FyYml0cnVtJztcbiAgfVtdO1xuICBsb2NrQW1vdW50PzogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25TaWduZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiByZW5kZXJpbmcgdGhlIENvaW5mbG93IGNvbXBvbmVudCB3aXRoaW4gbXVsdGlwbGUgbmVzdGVkIGlmcmFtZXMsIGFsbCBhbmNlc3RvcnMgaW4gdGhlIGNoYWluIG11c3QgYmUgcHJvdmlkZWQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogUHJpbWFyeSBvcmlnaW4gdGhhdCB3aWxsIGJlIGludGVyYWN0aW5nIHdpdGggdGhlIENvaW5mbG93IGlGcmFtZTogZm9vLmNvbVxuICAgKiBTdWJzZXF1ZW50IG9yaWdpbnMgdGhhdCB3aWxsIHJlbmRlciBmb28uY29tOiBiYXIuY29tXG4gICAqIFRoZSBvcmlnaW4gYXJyYXkgd291bGQgdGhlbiBiZTogW2h0dHBzOi8vZm9vLmNvbSxodHRwczovL2Jhci5jb21dXG4gICAqL1xuICBvcmlnaW5zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldFR5cGVzID0gU29sYW5hV2FsbGV0IHwgTmVhcldhbGxldCB8IEV0aFdhbGxldDtcblxuZXhwb3J0IGludGVyZmFjZSBTb2xhbmFXYWxsZXRQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzID0gQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzICZcbiAgU29sYW5hV2FsbGV0UHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmVhcldhbGxldFByb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHMgPSBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMgJlxuICBOZWFyV2FsbGV0UHJvcHM7XG5cbmludGVyZmFjZSBFdm1XYWxsZXRQcm9wcyB7XG4gIHdhbGxldDogRXRoV2FsbGV0O1xuICB1c2VQZXJtaXQ/OiBib29sZWFuO1xufVxuXG50eXBlIENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyA9IENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyAmIEV2bVdhbGxldFByb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV0aFdhbGxldFByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93RXRoV2l0aGRyYXdQcm9wcyA9IENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyAmXG4gIEV0aFdhbGxldFByb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvbHlnb25XYWxsZXRQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdwb2x5Z29uJztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dQb2x5Z29uV2l0aGRyYXdQcm9wcyA9IENvaW5mbG93RXZtV2l0aGRyYXdQcm9wcyAmXG4gIFBvbHlnb25XYWxsZXRQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlV2FsbGV0UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHMgPSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgJlxuICBCYXNlV2FsbGV0UHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJiaXRydW1XYWxsZXRQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdhcmJpdHJ1bSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93QXJiaXRydW1XaXRoZHJhd1Byb3BzID0gQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzICZcbiAgQXJiaXRydW1XYWxsZXRQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1Nlc3Npb25LZXlXaXRoZHJhd1Byb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgc2Vzc2lvbktleTogc3RyaW5nO1xuICBzaWduZXI6XG4gICAgfCBTb2xhbmFXYWxsZXRQcm9wc1xuICAgIHwgTmVhcldhbGxldFByb3BzXG4gICAgfCBFdGhXYWxsZXRQcm9wc1xuICAgIHwgUG9seWdvbldhbGxldFByb3BzXG4gICAgfCBCYXNlV2FsbGV0UHJvcHNcbiAgICB8IEFyYml0cnVtV2FsbGV0UHJvcHM7XG4gIGJsb2NrY2hhaW4/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93V2l0aGRyYXdQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dOZWFyV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93RXRoV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dBcmJpdHJ1bVdpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd1Nlc3Npb25LZXlXaXRoZHJhd1Byb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkV2bVJlZGVlbSB7XG4gIHdhaXRGb3JIYXNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3JtYWxSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0cmFuc2FjdGlvbjoge3RvOiBzdHJpbmc7IGRhdGE6IHN0cmluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS25vd25Ub2tlbklkUmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgbmZ0Q29udHJhY3Q6IHN0cmluZztcbiAgbmZ0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYWZlTWludFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdzYWZlTWludCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldHVybmVkVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdyZXR1cm5lZCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG50eXBlIFJlc2Vydm9pck5mdElkSXRlbSA9IE9taXQ8S25vd25Ub2tlbklkUmVkZWVtLCBrZXlvZiBOb3JtYWxSZWRlZW0+O1xuaW50ZXJmYWNlIFJlc2Vydm9pck9yZGVySWRJdGVtIHtcbiAgb3JkZXJJZDogc3RyaW5nO1xufVxudHlwZSBSZXNlcnZvaXJJdGVtID0gUmVzZXJ2b2lyTmZ0SWRJdGVtIHwgUmVzZXJ2b2lyT3JkZXJJZEl0ZW07XG50eXBlIFJlc2Vydm9pckl0ZW1zID0gUmVzZXJ2b2lySXRlbSB8IFJlc2Vydm9pckl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNlcnZvaXJSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAncmVzZXJ2b2lyJztcbiAgaXRlbXM6IFJlc2Vydm9pckl0ZW1zO1xuICB0YWtlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlZGVlbSBleHRlbmRzIENvbW1vbkV2bVJlZGVlbSB7XG4gIHR5cGU6ICd0b2tlbic7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEV2bVRyYW5zYWN0aW9uRGF0YSA9XG4gIHwgU2FmZU1pbnRSZWRlZW1cbiAgfCBSZXR1cm5lZFRva2VuSWRSZWRlZW1cbiAgfCBSZXNlcnZvaXJSZWRlZW1cbiAgfCBLbm93blRva2VuSWRSZWRlZW1cbiAgfCBOb3JtYWxSZWRlZW1cbiAgfCBUb2tlblJlZGVlbTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0lGcmFtZVByb3BzXG4gIGV4dGVuZHMgT21pdDxDb2luZmxvd1R5cGVzLCAnbWVyY2hhbnRJZCc+LFxuICAgIFBpY2s8XG4gICAgICBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMsXG4gICAgICB8ICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnXG4gICAgICB8ICd3ZWJob29rSW5mbydcbiAgICAgIHwgJ3N1YnRvdGFsJ1xuICAgICAgfCAnY3VzdG9tZXJJbmZvJ1xuICAgICAgfCAnc2V0dGxlbWVudFR5cGUnXG4gICAgICB8ICdlbWFpbCdcbiAgICAgIHwgJ3BsYW5Db2RlJ1xuICAgICAgfCAnZGV2aWNlSWQnXG4gICAgICB8ICdqd3RUb2tlbidcbiAgICAgIHwgJ29yaWdpbnMnXG4gICAgICB8ICd0aHJlZURzQ2hhbGxlbmdlUHJlZmVyZW5jZSdcbiAgICAgIHwgJ3N1cHBvcnRFbWFpbCdcbiAgICA+LFxuICAgIFBpY2s8XG4gICAgICBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMsXG4gICAgICB8ICdiYW5rQWNjb3VudExpbmtSZWRpcmVjdCdcbiAgICAgIHwgJ2FkZGl0aW9uYWxXYWxsZXRzJ1xuICAgICAgfCAndHJhbnNhY3Rpb25TaWduZXInXG4gICAgICB8ICdsb2NrQW1vdW50J1xuICAgICAgfCAnbG9ja0RlZmF1bHRUb2tlbidcbiAgICAgIHwgJ29yaWdpbnMnXG4gICAgPixcbiAgICBQaWNrPENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcywgJ2F1dGhPbmx5Jz4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wcyxcbiAgICAgICdyZW50JyB8ICduYXRpdmVTb2xUb0NvbnZlcnQnIHwgJ2Rlc3RpbmF0aW9uQXV0aEtleSdcbiAgICA+IHtcbiAgd2FsbGV0UHVia2V5OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBzZXNzaW9uS2V5Pzogc3RyaW5nO1xuICByb3V0ZTogc3RyaW5nO1xuICByb3V0ZVByZWZpeD86IHN0cmluZztcbiAgdHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIHRva2Vucz86IHN0cmluZ1tdIHwgUHVibGljS2V5W107XG4gIG5lYXJEZXBvc2l0Pzogc3RyaW5nO1xuICBtZXJjaGFudENzcz86IHN0cmluZztcbiAgY29sb3I/OiAnd2hpdGUnIHwgJ2JsYWNrJztcbiAgZGlzYWJsZUFwcGxlUGF5PzogYm9vbGVhbjtcbiAgZGlzYWJsZUdvb2dsZVBheT86IGJvb2xlYW47XG4gIHRoZW1lPzogTWVyY2hhbnRUaGVtZTtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQ2FyZFR5cGUge1xuICBWSVNBID0gJ1ZJU0EnLFxuICBNQVNURVJDQVJEID0gJ01TVFInLFxuICBBTUVYID0gJ0FNRVgnLFxuICBESVNDT1ZFUiA9ICdESVNDJyxcbn1cbiJdfQ==
@@ -1,219 +0,0 @@
1
- import { web3, base58 } from './SolanaPeerDeps';
2
- import LZString from 'lz-string';
3
- import { Currency } from './Subtotal';
4
- export class CoinflowUtils {
5
- constructor(env) {
6
- this.env = env ?? 'prod';
7
- if (this.env === 'prod')
8
- this.url = 'https://api.coinflow.cash';
9
- else if (this.env === 'local')
10
- this.url = 'http://localhost:5000';
11
- else
12
- this.url = `https://api-${this.env}.coinflow.cash`;
13
- }
14
- async getNSurePartnerId(merchantId) {
15
- return fetch(this.url + `/merchant/view/${merchantId}`)
16
- .then(response => response.json())
17
- .then((json) => json.nSureSettings?.nSurePartnerId || json.nSurePartnerId)
18
- .catch(e => {
19
- console.error(e);
20
- return undefined;
21
- });
22
- }
23
- static getCoinflowBaseUrl(env) {
24
- if (!env || env === 'prod')
25
- return 'https://coinflow.cash';
26
- if (env === 'local')
27
- return 'http://localhost:3000';
28
- return `https://${env}.coinflow.cash`;
29
- }
30
- static getCoinflowApiUrl(env) {
31
- if (!env || env === 'prod')
32
- return 'https://api.coinflow.cash';
33
- if (env === 'local')
34
- return 'http://localhost:5000';
35
- return `https://api-${env}.coinflow.cash`;
36
- }
37
- static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, }) {
38
- const prefix = routePrefix
39
- ? `/${routePrefix}/${blockchain}`
40
- : `/${blockchain}`;
41
- const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
42
- if (walletPubkey)
43
- url.searchParams.append('pubkey', walletPubkey);
44
- if (sessionKey)
45
- url.searchParams.append('sessionKey', sessionKey);
46
- if (transaction) {
47
- url.searchParams.append('transaction', transaction);
48
- }
49
- if (subtotal) {
50
- if ('cents' in subtotal) {
51
- url.searchParams.append('cents', subtotal.cents.toString());
52
- if ('currency' in subtotal) {
53
- url.searchParams.append('currency', subtotal.currency.toString());
54
- }
55
- else {
56
- url.searchParams.append('currency', Currency.USD);
57
- }
58
- }
59
- else {
60
- url.searchParams.append('token', subtotal.address.toString());
61
- url.searchParams.append('amount', subtotal.amount.toString());
62
- }
63
- }
64
- if (webhookInfo) {
65
- url.searchParams.append('webhookInfo', LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo)));
66
- }
67
- if (theme) {
68
- url.searchParams.append('theme', LZString.compressToEncodedURIComponent(JSON.stringify(theme)));
69
- }
70
- if (customerInfo) {
71
- url.searchParams.append('customerInfo', LZString.compressToEncodedURIComponent(JSON.stringify(customerInfo)));
72
- }
73
- if (email) {
74
- url.searchParams.append('email', email);
75
- }
76
- if (supportEmail)
77
- url.searchParams.append('supportEmail', supportEmail);
78
- if (tokens) {
79
- url.searchParams.append('tokens', tokens.toString());
80
- }
81
- if (loaderBackground) {
82
- url.searchParams.append('loaderBackground', loaderBackground);
83
- }
84
- if (handleHeightChange) {
85
- url.searchParams.append('useHeightChange', 'true');
86
- }
87
- if (bankAccountLinkRedirect) {
88
- url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
89
- }
90
- if (additionalWallets)
91
- url.searchParams.append('additionalWallets', LZString.compressToEncodedURIComponent(JSON.stringify(additionalWallets)));
92
- if (nearDeposit)
93
- url.searchParams.append('nearDeposit', nearDeposit);
94
- if (chargebackProtectionData)
95
- url.searchParams.append('chargebackProtectionData', LZString.compressToEncodedURIComponent(JSON.stringify(chargebackProtectionData)));
96
- if (deviceId) {
97
- url.searchParams.append('deviceId', deviceId);
98
- }
99
- else {
100
- if (typeof window !== 'undefined') {
101
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
102
- // @ts-ignore
103
- const deviceId = window?.nSureSDK?.getDeviceId();
104
- if (deviceId)
105
- url.searchParams.append('deviceId', deviceId);
106
- }
107
- }
108
- if (merchantCss)
109
- url.searchParams.append('merchantCss', merchantCss);
110
- if (color)
111
- url.searchParams.append('color', color);
112
- if (rent)
113
- url.searchParams.append('rent', rent.lamports.toString());
114
- if (nativeSolToConvert)
115
- url.searchParams.append('nativeSolToConvert', nativeSolToConvert.lamports.toString());
116
- if (lockDefaultToken)
117
- url.searchParams.append('lockDefaultToken', 'true');
118
- if (planCode)
119
- url.searchParams.append('planCode', planCode);
120
- if (disableApplePay)
121
- url.searchParams.append('disableApplePay', 'true');
122
- if (disableGooglePay)
123
- url.searchParams.append('disableGooglePay', 'true');
124
- if (settlementType)
125
- url.searchParams.append('settlementType', settlementType);
126
- if (lockAmount)
127
- url.searchParams.append('lockAmount', 'true');
128
- if (usePermit === false)
129
- url.searchParams.append('usePermit', 'false');
130
- if (transactionSigner)
131
- url.searchParams.append('transactionSigner', transactionSigner);
132
- if (authOnly === true)
133
- url.searchParams.append('authOnly', 'true');
134
- if (jwtToken)
135
- url.searchParams.append('jwtToken', jwtToken);
136
- if (origins)
137
- url.searchParams.append('origins', LZString.compressToEncodedURIComponent(JSON.stringify(origins)));
138
- if (threeDsChallengePreference)
139
- url.searchParams.append('threeDsChallengePreference', threeDsChallengePreference);
140
- if (destinationAuthKey)
141
- url.searchParams.append('destinationAuthKey', destinationAuthKey);
142
- return url.toString();
143
- }
144
- static getTransaction(props) {
145
- if (!props.blockchain)
146
- return undefined;
147
- return this.byBlockchain(props.blockchain, {
148
- solana: () => {
149
- if (!('transaction' in props))
150
- return undefined;
151
- const { transaction } = props;
152
- if (!web3)
153
- throw new Error('@solana/web3.js dependency is required for Solana');
154
- if (!base58)
155
- throw new Error('bs58 dependency is required for Solana');
156
- if (!transaction)
157
- return undefined;
158
- return base58.encode(transaction.serialize({
159
- requireAllSignatures: false,
160
- verifySignatures: false,
161
- }));
162
- },
163
- polygon: () => {
164
- if (!('transaction' in props))
165
- return undefined;
166
- const { transaction } = props;
167
- return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
168
- },
169
- eth: () => {
170
- if (!('transaction' in props))
171
- return undefined;
172
- const { transaction } = props;
173
- return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
174
- },
175
- base: () => {
176
- if (!('transaction' in props))
177
- return undefined;
178
- const { transaction } = props;
179
- return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
180
- },
181
- arbitrum: () => {
182
- if (!('transaction' in props))
183
- return undefined;
184
- const { transaction } = props;
185
- return LZString.compressToEncodedURIComponent(JSON.stringify(transaction));
186
- },
187
- near: () => {
188
- if (!('action' in props))
189
- return undefined;
190
- const { action } = props;
191
- return LZString.compressToEncodedURIComponent(JSON.stringify(action));
192
- },
193
- user: () => {
194
- return undefined;
195
- },
196
- })();
197
- }
198
- static byBlockchain(blockchain, args) {
199
- switch (blockchain) {
200
- case 'solana':
201
- return args.solana;
202
- case 'near':
203
- return args.near;
204
- case 'polygon':
205
- return args.polygon;
206
- case 'eth':
207
- return args.eth;
208
- case 'base':
209
- return args.base;
210
- case 'arbitrum':
211
- return args.arbitrum;
212
- case 'user':
213
- return args.user;
214
- default:
215
- throw new Error('blockchain not supported!');
216
- }
217
- }
218
- }
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxD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LFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3ZCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gIENvaW5mbG93RW52cyxcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHt3ZWIzLCBiYXNlNTh9IGZyb20gJy4vU29sYW5hUGVlckRlcHMnO1xuaW1wb3J0IExaU3RyaW5nIGZyb20gJ2x6LXN0cmluZyc7XG5pbXBvcnQgdHlwZSB7VHJhbnNhY3Rpb24sIFZlcnNpb25lZFRyYW5zYWN0aW9ufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHtDdXJyZW5jeX0gZnJvbSAnLi9TdWJ0b3RhbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dCYXNlVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vJHtlbnZ9LmNvaW5mbG93LmNhc2hgO1xuICB9XG5cbiAgc3RhdGljIGdldENvaW5mbG93QXBpVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgaWYgKGVudiA9PT0gJ2xvY2FsJykgcmV0dXJuICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuXG4gICAgcmV0dXJuIGBodHRwczovL2FwaS0ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dVcmwoe1xuICAgIHdhbGxldFB1YmtleSxcbiAgICBzZXNzaW9uS2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBzdWJ0b3RhbCxcbiAgICB0cmFuc2FjdGlvbixcbiAgICBibG9ja2NoYWluID0gJ3NvbGFuYScsXG4gICAgd2ViaG9va0luZm8sXG4gICAgZW1haWwsXG4gICAgbG9hZGVyQmFja2dyb3VuZCxcbiAgICBoYW5kbGVIZWlnaHRDaGFuZ2UsXG4gICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3QsXG4gICAgYWRkaXRpb25hbFdhbGxldHMsXG4gICAgbmVhckRlcG9zaXQsXG4gICAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhLFxuICAgIG1lcmNoYW50Q3NzLFxuICAgIGNvbG9yLFxuICAgIHJlbnQsXG4gICAgbG9ja0RlZmF1bHRUb2tlbixcbiAgICB0b2tlbnMsXG4gICAgcGxhbkNvZGUsXG4gICAgZGlzYWJsZUFwcGxlUGF5LFxuICAgIGRpc2FibGVHb29nbGVQYXksXG4gICAgY3VzdG9tZXJJbmZvLFxuICAgIHNldHRsZW1lbnRUeXBlLFxuICAgIGxvY2tBbW91bnQsXG4gICAgbmF0aXZlU29sVG9Db252ZXJ0LFxuICAgIHRoZW1lLFxuICAgIHVzZVBlcm1pdCxcbiAgICB0cmFuc2FjdGlvblNpZ25lcixcbiAgICBhdXRoT25seSxcbiAgICBkZXZpY2VJZCxcbiAgICBqd3RUb2tlbixcbiAgICBvcmlnaW5zLFxuICAgIHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlLFxuICAgIHN1cHBvcnRFbWFpbCxcbiAgICBkZXN0aW5hdGlvbkF1dGhLZXksXG4gIH06IENvaW5mbG93SUZyYW1lUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IHJvdXRlUHJlZml4XG4gICAgICA/IGAvJHtyb3V0ZVByZWZpeH0vJHtibG9ja2NoYWlufWBcbiAgICAgIDogYC8ke2Jsb2NrY2hhaW59YDtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHByZWZpeCArIHJvdXRlLCBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93QmFzZVVybChlbnYpKTtcblxuICAgIGlmICh3YWxsZXRQdWJrZXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwdWJrZXknLCB3YWxsZXRQdWJrZXkpO1xuICAgIGlmIChzZXNzaW9uS2V5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2Vzc2lvbktleScsIHNlc3Npb25LZXkpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHN1YnRvdGFsKSB7XG4gICAgICBpZiAoJ2NlbnRzJyBpbiBzdWJ0b3RhbCkge1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY2VudHMnLCBzdWJ0b3RhbC5jZW50cy50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKCdjdXJyZW5jeScgaW4gc3VidG90YWwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY3VycmVuY3knLCBzdWJ0b3RhbC5jdXJyZW5jeS50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY3VycmVuY3knLCBDdXJyZW5jeS5VU0QpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW4nLCBzdWJ0b3RhbC5hZGRyZXNzLnRvU3RyaW5nKCkpO1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYW1vdW50Jywgc3VidG90YWwuYW1vdW50LnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3ZWJob29rSW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd3ZWJob29rSW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHdlYmhvb2tJbmZvKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodGhlbWUpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY3VzdG9tZXJJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2N1c3RvbWVySW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGN1c3RvbWVySW5mbykpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbWFpbCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2VtYWlsJywgZW1haWwpO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydEVtYWlsKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc3VwcG9ydEVtYWlsJywgc3VwcG9ydEVtYWlsKTtcblxuICAgIGlmICh0b2tlbnMpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbnMnLCB0b2tlbnMudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRlckJhY2tncm91bmQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2FkZXJCYWNrZ3JvdW5kJywgbG9hZGVyQmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUhlaWdodENoYW5nZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZUhlaWdodENoYW5nZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgaWYgKGJhbmtBY2NvdW50TGlua1JlZGlyZWN0KSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0JyxcbiAgICAgICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdhZGRpdGlvbmFsV2FsbGV0cycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgaWYgKG5lYXJEZXBvc2l0KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbmVhckRlcG9zaXQnLCBuZWFyRGVwb3NpdCk7XG5cbiAgICBpZiAoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgaWYgKGRldmljZUlkKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgZGV2aWNlSWQgPSB3aW5kb3c/Lm5TdXJlU0RLPy5nZXREZXZpY2VJZCgpO1xuICAgICAgICBpZiAoZGV2aWNlSWQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXZpY2VJZCcsIGRldmljZUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWVyY2hhbnRDc3MpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdtZXJjaGFudENzcycsIG1lcmNoYW50Q3NzKTtcbiAgICBpZiAoY29sb3IpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjb2xvcicsIGNvbG9yKTtcbiAgICBpZiAocmVudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3JlbnQnLCByZW50LmxhbXBvcnRzLnRvU3RyaW5nKCkpO1xuICAgIGlmIChuYXRpdmVTb2xUb0NvbnZlcnQpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ25hdGl2ZVNvbFRvQ29udmVydCcsXG4gICAgICAgIG5hdGl2ZVNvbFRvQ29udmVydC5sYW1wb3J0cy50b1N0cmluZygpXG4gICAgICApO1xuICAgIGlmIChsb2NrRGVmYXVsdFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0RlZmF1bHRUb2tlbicsICd0cnVlJyk7XG4gICAgaWYgKHBsYW5Db2RlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncGxhbkNvZGUnLCBwbGFuQ29kZSk7XG5cbiAgICBpZiAoZGlzYWJsZUFwcGxlUGF5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGlzYWJsZUFwcGxlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoZGlzYWJsZUdvb2dsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVHb29nbGVQYXknLCAndHJ1ZScpO1xuICAgIGlmIChzZXR0bGVtZW50VHlwZSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdzZXR0bGVtZW50VHlwZScsIHNldHRsZW1lbnRUeXBlKTtcblxuICAgIGlmIChsb2NrQW1vdW50KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0Ftb3VudCcsICd0cnVlJyk7XG5cbiAgICBpZiAodXNlUGVybWl0ID09PSBmYWxzZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZVBlcm1pdCcsICdmYWxzZScpO1xuICAgIGlmICh0cmFuc2FjdGlvblNpZ25lcilcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0cmFuc2FjdGlvblNpZ25lcicsIHRyYW5zYWN0aW9uU2lnbmVyKTtcbiAgICBpZiAoYXV0aE9ubHkgPT09IHRydWUpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRoT25seScsICd0cnVlJyk7XG4gICAgaWYgKGp3dFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnand0VG9rZW4nLCBqd3RUb2tlbik7XG4gICAgaWYgKG9yaWdpbnMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ29yaWdpbnMnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShvcmlnaW5zKSlcbiAgICAgICk7XG5cbiAgICBpZiAodGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2UpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3RocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlJyxcbiAgICAgICAgdGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2VcbiAgICAgICk7XG5cbiAgICBpZiAoZGVzdGluYXRpb25BdXRoS2V5KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rlc3RpbmF0aW9uQXV0aEtleScsIGRlc3RpbmF0aW9uQXV0aEtleSk7XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VHJhbnNhY3Rpb24ocHJvcHM6IENvaW5mbG93UHVyY2hhc2VQcm9wcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcy5ibG9ja2NoYWluKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuYnlCbG9ja2NoYWluPCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZD4ocHJvcHMuYmxvY2tjaGFpbiwge1xuICAgICAgc29sYW5hOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIGlmICghd2ViMylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Bzb2xhbmEvd2ViMy5qcyBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCFiYXNlNTgpIHRocm93IG5ldyBFcnJvcignYnM1OCBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCF0cmFuc2FjdGlvbikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoXG4gICAgICAgICAgKHRyYW5zYWN0aW9uIGFzIFZlcnNpb25lZFRyYW5zYWN0aW9uIHwgVHJhbnNhY3Rpb24pLnNlcmlhbGl6ZSh7XG4gICAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHBvbHlnb246ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGV0aDogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYmFzZTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYXJiaXRydW06ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIG5lYXI6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7YWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYWN0aW9uKSk7XG4gICAgICB9LFxuICAgICAgdXNlcjogKCkgPT4ge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSxcbiAgICB9KSgpO1xuICB9XG5cbiAgc3RhdGljIGJ5QmxvY2tjaGFpbjxUPihcbiAgICBibG9ja2NoYWluOiBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gICAgYXJnczoge1xuICAgICAgc29sYW5hOiBUO1xuICAgICAgbmVhcjogVDtcbiAgICAgIGV0aDogVDtcbiAgICAgIHBvbHlnb246IFQ7XG4gICAgICBiYXNlOiBUO1xuICAgICAgYXJiaXRydW06IFQ7XG4gICAgICB1c2VyOiBUO1xuICAgIH1cbiAgKTogVCB7XG4gICAgc3dpdGNoIChibG9ja2NoYWluKSB7XG4gICAgICBjYXNlICdzb2xhbmEnOlxuICAgICAgICByZXR1cm4gYXJncy5zb2xhbmE7XG4gICAgICBjYXNlICduZWFyJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MubmVhcjtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gYXJncy5wb2x5Z29uO1xuICAgICAgY2FzZSAnZXRoJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MuZXRoO1xuICAgICAgY2FzZSAnYmFzZSc6XG4gICAgICAgIHJldHVybiBhcmdzLmJhc2U7XG4gICAgICBjYXNlICdhcmJpdHJ1bSc6XG4gICAgICAgIHJldHVybiBhcmdzLmFyYml0cnVtO1xuICAgICAgY2FzZSAndXNlcic6XG4gICAgICAgIHJldHVybiBhcmdzLnVzZXI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- // This works in angular, but not react
2
- // let web3: typeof import('@solana/web3.js') | undefined;
3
- // let base58: typeof import('bs58') | undefined;
4
- //
5
- // try {
6
- // web3 = require('@solana/web3.js');
7
- // base58 = require('bs58');
8
- // } catch (e) {}
9
- //
10
- // export {web3, base58};
11
- // This works in react, but not angular
12
- import * as SolanaWeb3Js from '@solana/web3.js';
13
- import base58Imported from 'bs58';
14
- const web3 = SolanaWeb3Js;
15
- const base58 = base58Imported;
16
- export { web3, base58 };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29sYW5hUGVlckRlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vU29sYW5hUGVlckRlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLDBEQUEwRDtBQUMxRCxpREFBaUQ7QUFDakQsRUFBRTtBQUNGLFFBQVE7QUFDUix1Q0FBdUM7QUFDdkMsOEJBQThCO0FBQzlCLGlCQUFpQjtBQUNqQixFQUFFO0FBQ0YseUJBQXlCO0FBRXpCLHVDQUF1QztBQUN2QyxPQUFPLEtBQUssWUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sY0FBYyxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLElBQUksR0FBb0MsWUFBWSxDQUFDO0FBQzNELE1BQU0sTUFBTSxHQUFzQyxjQUFjLENBQUM7QUFDakUsT0FBTyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgd29ya3MgaW4gYW5ndWxhciwgYnV0IG5vdCByZWFjdFxuLy8gbGV0IHdlYjM6IHR5cGVvZiBpbXBvcnQoJ0Bzb2xhbmEvd2ViMy5qcycpIHwgdW5kZWZpbmVkO1xuLy8gbGV0IGJhc2U1ODogdHlwZW9mIGltcG9ydCgnYnM1OCcpIHwgdW5kZWZpbmVkO1xuLy9cbi8vIHRyeSB7XG4vLyAgIHdlYjMgPSByZXF1aXJlKCdAc29sYW5hL3dlYjMuanMnKTtcbi8vICAgYmFzZTU4ID0gcmVxdWlyZSgnYnM1OCcpO1xuLy8gfSBjYXRjaCAoZSkge31cbi8vXG4vLyBleHBvcnQge3dlYjMsIGJhc2U1OH07XG5cbi8vIFRoaXMgd29ya3MgaW4gcmVhY3QsIGJ1dCBub3QgYW5ndWxhclxuaW1wb3J0ICogYXMgU29sYW5hV2ViM0pzIGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgYmFzZTU4SW1wb3J0ZWQgZnJvbSAnYnM1OCc7XG5cbmNvbnN0IHdlYjM6IHR5cGVvZiBTb2xhbmFXZWIzSnMgfCB1bmRlZmluZWQgPSBTb2xhbmFXZWIzSnM7XG5jb25zdCBiYXNlNTg6IHR5cGVvZiBiYXNlNThJbXBvcnRlZCB8IHVuZGVmaW5lZCA9IGJhc2U1OEltcG9ydGVkO1xuZXhwb3J0IHt3ZWIzLCBiYXNlNTh9O1xuIl19