@coinflowlabs/react 0.3.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/build/cjs/CoinflowIFrame.d.ts +5 -5
- package/build/cjs/CoinflowIFrame.js +5 -4
- package/build/cjs/CoinflowIFrame.js.map +1 -1
- package/build/cjs/CoinflowPurchase.d.ts +21 -6
- package/build/cjs/CoinflowPurchase.js +35 -9
- package/build/cjs/CoinflowPurchase.js.map +1 -1
- package/build/cjs/CoinflowPurchaseHistory.d.ts +2 -2
- package/build/cjs/CoinflowPurchaseHistory.js +30 -5
- package/build/cjs/CoinflowPurchaseHistory.js.map +1 -1
- package/build/cjs/CoinflowUtils.d.ts +41 -6
- package/build/cjs/CoinflowUtils.js +41 -79
- package/build/cjs/CoinflowUtils.js.map +1 -1
- package/build/cjs/CoinflowWithdraw.d.ts +15 -7
- package/build/cjs/CoinflowWithdraw.js +30 -5
- package/build/cjs/CoinflowWithdraw.js.map +1 -1
- package/build/cjs/CoinflowWithdrawHistory.d.ts +14 -6
- package/build/cjs/CoinflowWithdrawHistory.js +30 -5
- package/build/cjs/CoinflowWithdrawHistory.js.map +1 -1
- package/build/cjs/NearIFrameMessageHandlers.d.ts +5 -0
- package/build/cjs/NearIFrameMessageHandlers.js +54 -0
- package/build/cjs/NearIFrameMessageHandlers.js.map +1 -0
- package/build/cjs/SolanaIFrameMessageHandlers.d.ts +18 -0
- package/build/cjs/{IFrameWalletConnector.js → SolanaIFrameMessageHandlers.js} +23 -108
- package/build/cjs/SolanaIFrameMessageHandlers.js.map +1 -0
- package/build/cjs/index.d.ts +0 -1
- package/build/cjs/index.js +0 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/useIframeWallet.d.ts +3 -11
- package/build/cjs/useIframeWallet.js +83 -11
- package/build/cjs/useIframeWallet.js.map +1 -1
- package/build/esm/CoinflowIFrame.d.ts +5 -5
- package/build/esm/CoinflowIFrame.js +6 -5
- package/build/esm/CoinflowIFrame.js.map +1 -1
- package/build/esm/CoinflowPurchase.d.ts +21 -6
- package/build/esm/CoinflowPurchase.js +35 -8
- package/build/esm/CoinflowPurchase.js.map +1 -1
- package/build/esm/CoinflowPurchaseHistory.d.ts +2 -2
- package/build/esm/CoinflowPurchaseHistory.js +30 -4
- package/build/esm/CoinflowPurchaseHistory.js.map +1 -1
- package/build/esm/CoinflowUtils.d.ts +41 -6
- package/build/esm/CoinflowUtils.js +41 -79
- package/build/esm/CoinflowUtils.js.map +1 -1
- package/build/esm/CoinflowWithdraw.d.ts +15 -7
- package/build/esm/CoinflowWithdraw.js +30 -4
- package/build/esm/CoinflowWithdraw.js.map +1 -1
- package/build/esm/CoinflowWithdrawHistory.d.ts +14 -6
- package/build/esm/CoinflowWithdrawHistory.js +30 -4
- package/build/esm/CoinflowWithdrawHistory.js.map +1 -1
- package/build/esm/NearIFrameMessageHandlers.d.ts +5 -0
- package/build/esm/NearIFrameMessageHandlers.js +50 -0
- package/build/esm/NearIFrameMessageHandlers.js.map +1 -0
- package/build/esm/SolanaIFrameMessageHandlers.d.ts +18 -0
- package/build/esm/{IFrameWalletConnector.js → SolanaIFrameMessageHandlers.js} +21 -106
- package/build/esm/SolanaIFrameMessageHandlers.js.map +1 -0
- package/build/esm/index.d.ts +0 -1
- package/build/esm/index.js +0 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/useIframeWallet.d.ts +3 -11
- package/build/esm/useIframeWallet.js +83 -11
- package/build/esm/useIframeWallet.js.map +1 -1
- package/package.json +2 -2
- package/build/cjs/IFrameWalletConnector.d.ts +0 -21
- package/build/cjs/IFrameWalletConnector.js.map +0 -1
- package/build/esm/IFrameWalletConnector.d.ts +0 -21
- package/build/esm/IFrameWalletConnector.js.map +0 -1
|
@@ -1,11 +1,37 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import { useIframeWallet } from './useIframeWallet';
|
|
2
3
|
import { CoinflowIFrame } from './CoinflowIFrame';
|
|
3
4
|
import React from 'react';
|
|
4
|
-
|
|
5
|
+
import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
|
|
6
|
+
import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
|
|
7
|
+
import { CoinflowUtils } from './CoinflowUtils';
|
|
8
|
+
export function CoinflowPurchaseHistory(props) {
|
|
9
|
+
return CoinflowUtils.byBlockchain(props.blockchain, {
|
|
10
|
+
solana: (React.createElement(SolanaPurchaseHistory, __assign({}, props))),
|
|
11
|
+
near: React.createElement(NearPurchaseHistory, __assign({}, props))
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function SolanaPurchaseHistory(_a) {
|
|
5
15
|
var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env;
|
|
6
|
-
var
|
|
7
|
-
|
|
16
|
+
var handlers = useSolanaIFrameMessageHandlers({
|
|
17
|
+
wallet: wallet,
|
|
18
|
+
connection: connection
|
|
19
|
+
});
|
|
20
|
+
var IFrameRef = useIframeWallet(handlers).IFrameRef;
|
|
21
|
+
if (!wallet.publicKey)
|
|
22
|
+
return null;
|
|
23
|
+
var walletPubkey = wallet.publicKey.toString();
|
|
24
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'solana' }));
|
|
25
|
+
}
|
|
26
|
+
function NearPurchaseHistory(_a) {
|
|
27
|
+
var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env;
|
|
28
|
+
var handlers = useNearIFrameMessageHandlers({
|
|
29
|
+
wallet: wallet
|
|
30
|
+
});
|
|
31
|
+
var IFrameRef = useIframeWallet(handlers).IFrameRef;
|
|
32
|
+
if (!wallet)
|
|
8
33
|
return null;
|
|
9
|
-
|
|
34
|
+
var walletPubkey = wallet.accountId;
|
|
35
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/purchase/".concat(merchantId), env: env, blockchain: 'near' }));
|
|
10
36
|
}
|
|
11
37
|
//# sourceMappingURL=CoinflowPurchaseHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CoinflowPurchaseHistory.js","sourceRoot":"","sources":["../../src/CoinflowPurchaseHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CACrC,KAA4D;IAE5D,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,qBAAqB,eAAM,KAAoC,EAAI,CACrE;QACD,IAAI,EAAE,oBAAC,mBAAmB,eAAM,KAAkC,EAAI;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,EAKF;QAJ3B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,GACpB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAIF;QAHzB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GAClB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,19 +1,54 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PublicKey, Transaction } from '@solana/web3.js';
|
|
2
2
|
import { WalletContextState } from '@solana/wallet-adapter-react';
|
|
3
|
+
export type CoinflowBlockchain = 'solana' | 'near';
|
|
3
4
|
export type CoinflowEnvs = 'prod' | 'staging' | 'sandbox' | 'local';
|
|
4
|
-
export type
|
|
5
|
+
export type SolanaWalletContextState = Pick<WalletContextState, 'wallet' | 'signTransaction' | 'signMessage' | 'connected' | 'publicKey' | 'sendTransaction'>;
|
|
6
|
+
export type NearWallet = {
|
|
7
|
+
accountId: string;
|
|
8
|
+
verifyOwner: (params: {
|
|
9
|
+
message: string;
|
|
10
|
+
}) => Promise<{
|
|
11
|
+
accountId: string;
|
|
12
|
+
message: string;
|
|
13
|
+
blockId: string;
|
|
14
|
+
publicKey: string;
|
|
15
|
+
signature: string;
|
|
16
|
+
keyType: number;
|
|
17
|
+
}>;
|
|
18
|
+
signAndSendTransaction: (params: {
|
|
19
|
+
signerId?: string;
|
|
20
|
+
receiverId?: string;
|
|
21
|
+
actions: Array<{
|
|
22
|
+
type: string;
|
|
23
|
+
params: object;
|
|
24
|
+
}>;
|
|
25
|
+
}) => Promise<{
|
|
26
|
+
status: any;
|
|
27
|
+
transaction: any;
|
|
28
|
+
transaction_outcome: any;
|
|
29
|
+
receipts_outcome: any;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
5
32
|
export declare class CoinflowUtils {
|
|
6
33
|
env: CoinflowEnvs;
|
|
7
34
|
url: string;
|
|
8
35
|
constructor(env?: CoinflowEnvs);
|
|
9
36
|
getFeePayer(merchantId: string): Promise<PublicKey>;
|
|
37
|
+
getCreditBalance(publicKey: string, blockchain: 'solana' | 'near'): Promise<number>;
|
|
10
38
|
static getCoinflowBaseUrl(env?: CoinflowEnvs): string;
|
|
11
|
-
static getCoinflowUrl({
|
|
12
|
-
|
|
39
|
+
static getCoinflowUrl({ walletPubkey, route, env, amount, transaction, blockchain, supportsVersionedTransactions, }: {
|
|
40
|
+
walletPubkey: string;
|
|
13
41
|
route: string;
|
|
14
42
|
env?: CoinflowEnvs;
|
|
15
43
|
amount?: number;
|
|
16
|
-
transaction?:
|
|
44
|
+
transaction?: string;
|
|
45
|
+
supportsVersionedTransactions?: boolean;
|
|
46
|
+
blockchain: CoinflowBlockchain;
|
|
17
47
|
}): string;
|
|
18
|
-
|
|
48
|
+
static serializeSolanaTransaction(transaction: Transaction | undefined): string | undefined;
|
|
49
|
+
static solanaWalletSupportsVersionedTransactions(wallet: SolanaWalletContextState): boolean;
|
|
50
|
+
static byBlockchain<T>(blockchain: CoinflowBlockchain, args: {
|
|
51
|
+
solana: T;
|
|
52
|
+
near: T;
|
|
53
|
+
}): T;
|
|
19
54
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import { PublicKey } from '@solana/web3.js';
|
|
3
3
|
import base58 from 'bs58';
|
|
4
|
-
import { Buffer } from 'buffer';
|
|
5
|
-
import BN from 'bn.js';
|
|
6
4
|
var CoinflowUtils = /** @class */ (function () {
|
|
7
5
|
function CoinflowUtils(env) {
|
|
8
6
|
this.env = env !== null && env !== void 0 ? env : 'prod';
|
|
@@ -29,6 +27,22 @@ var CoinflowUtils = /** @class */ (function () {
|
|
|
29
27
|
});
|
|
30
28
|
});
|
|
31
29
|
};
|
|
30
|
+
CoinflowUtils.prototype.getCreditBalance = function (publicKey, blockchain) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
32
|
+
var response, balance;
|
|
33
|
+
return __generator(this, function (_a) {
|
|
34
|
+
switch (_a.label) {
|
|
35
|
+
case 0: return [4 /*yield*/, fetch(this.url + "/mint/balance/".concat(publicKey, "/").concat(blockchain))];
|
|
36
|
+
case 1:
|
|
37
|
+
response = _a.sent();
|
|
38
|
+
return [4 /*yield*/, response.json()];
|
|
39
|
+
case 2:
|
|
40
|
+
balance = (_a.sent()).balance;
|
|
41
|
+
return [2 /*return*/, balance];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
};
|
|
32
46
|
CoinflowUtils.getCoinflowBaseUrl = function (env) {
|
|
33
47
|
if (!env || env === 'prod')
|
|
34
48
|
return 'https://coinflow.cash';
|
|
@@ -37,93 +51,41 @@ var CoinflowUtils = /** @class */ (function () {
|
|
|
37
51
|
return "https://".concat(env, ".coinflow.cash");
|
|
38
52
|
};
|
|
39
53
|
CoinflowUtils.getCoinflowUrl = function (_a) {
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
url.searchParams.append('pubkey', (_c = (_b = wallet.publicKey) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : '');
|
|
54
|
+
var walletPubkey = _a.walletPubkey, route = _a.route, env = _a.env, amount = _a.amount, transaction = _a.transaction, blockchain = _a.blockchain, supportsVersionedTransactions = _a.supportsVersionedTransactions;
|
|
55
|
+
var url = new URL("/".concat(blockchain) + route, CoinflowUtils.getCoinflowBaseUrl(env));
|
|
56
|
+
url.searchParams.append('pubkey', walletPubkey);
|
|
44
57
|
if (transaction) {
|
|
45
|
-
|
|
46
|
-
requireAllSignatures: false,
|
|
47
|
-
verifySignatures: false
|
|
48
|
-
}));
|
|
49
|
-
url.searchParams.append('transaction', serializedTx);
|
|
58
|
+
url.searchParams.append('transaction', transaction);
|
|
50
59
|
}
|
|
51
60
|
if (amount) {
|
|
52
61
|
url.searchParams.append('amount', amount.toString());
|
|
53
62
|
}
|
|
54
|
-
var supportsVersionedTransactions = !!((_f = (_e = (_d = wallet.wallet) === null || _d === void 0 ? void 0 : _d.adapter) === null || _e === void 0 ? void 0 : _e.supportedTransactionVersions) === null || _f === void 0 ? void 0 : _f.has(0));
|
|
55
63
|
if (supportsVersionedTransactions) {
|
|
56
64
|
url.searchParams.append('supportsVersionedTransactions', 'true');
|
|
57
65
|
}
|
|
58
66
|
return url.toString();
|
|
59
67
|
};
|
|
60
|
-
CoinflowUtils.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return __generator(this, function (_a) {
|
|
82
|
-
switch (_a.label) {
|
|
83
|
-
case 0: return [4 /*yield*/, getCreditAtaInfo(wallet)];
|
|
84
|
-
case 1:
|
|
85
|
-
ataInfo = _a.sent();
|
|
86
|
-
return [2 /*return*/, parseTokenAccountAmount(ataInfo)];
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function getCreditAtaInfo(wallet) {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
93
|
-
var ata;
|
|
94
|
-
return __generator(this, function (_a) {
|
|
95
|
-
try {
|
|
96
|
-
ata = getCreditAtaAddress(wallet);
|
|
97
|
-
return [2 /*return*/, connection.getAccountInfo(ata)];
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
return [2 /*return*/, null];
|
|
101
|
-
}
|
|
102
|
-
return [2 /*return*/];
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
function getCreditAtaAddress(wallet) {
|
|
107
|
-
var address = PublicKey.findProgramAddressSync([
|
|
108
|
-
wallet.toBuffer(),
|
|
109
|
-
new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA').toBuffer(),
|
|
110
|
-
creditsMint().toBuffer(),
|
|
111
|
-
], new PublicKey('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'))[0];
|
|
112
|
-
return address;
|
|
113
|
-
}
|
|
114
|
-
function creditsMint() {
|
|
115
|
-
return PublicKey.findProgramAddressSync([Buffer.from('usdc-credits-mint-2')], new PublicKey('FD1amxhTsDpwzoVX41dxp2ygAESURV2zdUACzxM1Dfw9'))[0];
|
|
116
|
-
}
|
|
117
|
-
return __generator(this, function (_a) {
|
|
118
|
-
switch (_a.label) {
|
|
119
|
-
case 0:
|
|
120
|
-
if (!publicKey)
|
|
121
|
-
return [2 /*return*/, 0];
|
|
122
|
-
return [4 /*yield*/, getCreditBalance(publicKey)];
|
|
123
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
});
|
|
68
|
+
CoinflowUtils.serializeSolanaTransaction = function (transaction) {
|
|
69
|
+
if (!transaction)
|
|
70
|
+
return undefined;
|
|
71
|
+
return base58.encode(transaction.serialize({
|
|
72
|
+
requireAllSignatures: false,
|
|
73
|
+
verifySignatures: false
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
CoinflowUtils.solanaWalletSupportsVersionedTransactions = function (wallet) {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
return !!((_c = (_b = (_a = wallet.wallet) === null || _a === void 0 ? void 0 : _a.adapter) === null || _b === void 0 ? void 0 : _b.supportedTransactionVersions) === null || _c === void 0 ? void 0 : _c.has(0));
|
|
79
|
+
};
|
|
80
|
+
CoinflowUtils.byBlockchain = function (blockchain, args) {
|
|
81
|
+
switch (blockchain) {
|
|
82
|
+
case 'solana':
|
|
83
|
+
return args.solana;
|
|
84
|
+
case 'near':
|
|
85
|
+
return args.near;
|
|
86
|
+
default:
|
|
87
|
+
throw new Error('blockchain not supported!');
|
|
88
|
+
}
|
|
127
89
|
};
|
|
128
90
|
return CoinflowUtils;
|
|
129
91
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Connection } from '@solana/web3.js';
|
|
3
|
-
import { CoinflowEnvs,
|
|
4
|
-
import { OnSuccessMethod } from './
|
|
5
|
-
export
|
|
6
|
-
wallet: SubsetWalletContextState;
|
|
3
|
+
import { CoinflowBlockchain, CoinflowEnvs, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
|
|
4
|
+
import { OnSuccessMethod } from './useIframeWallet';
|
|
5
|
+
export interface CoinflowCommonWithdrawProps {
|
|
7
6
|
merchantId: string;
|
|
8
|
-
connection: Connection;
|
|
9
7
|
env?: CoinflowEnvs;
|
|
10
8
|
onSuccess?: OnSuccessMethod;
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
blockchain: CoinflowBlockchain;
|
|
10
|
+
}
|
|
11
|
+
export interface CoinflowSolanaWithdrawProps extends CoinflowCommonWithdrawProps {
|
|
12
|
+
wallet: SolanaWalletContextState;
|
|
13
|
+
connection: Connection;
|
|
14
|
+
blockchain: 'solana';
|
|
15
|
+
}
|
|
16
|
+
export interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {
|
|
17
|
+
wallet: NearWallet;
|
|
18
|
+
blockchain: 'near';
|
|
19
|
+
}
|
|
20
|
+
export declare function CoinflowWithdraw(props: CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps): JSX.Element;
|
|
@@ -1,11 +1,37 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { CoinflowIFrame } from './CoinflowIFrame';
|
|
4
|
+
import { CoinflowUtils, } from './CoinflowUtils';
|
|
3
5
|
import { useIframeWallet } from './useIframeWallet';
|
|
4
|
-
|
|
6
|
+
import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
|
|
7
|
+
import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
|
|
8
|
+
export function CoinflowWithdraw(props) {
|
|
9
|
+
return CoinflowUtils.byBlockchain(props.blockchain, {
|
|
10
|
+
solana: (React.createElement(CoinflowSolanaWithdraw, __assign({}, props))),
|
|
11
|
+
near: React.createElement(CoinflowNearWithdraw, __assign({}, props))
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function CoinflowSolanaWithdraw(_a) {
|
|
5
15
|
var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, connection = _a.connection, onSuccess = _a.onSuccess;
|
|
6
|
-
var
|
|
7
|
-
|
|
16
|
+
var handlers = useSolanaIFrameMessageHandlers({
|
|
17
|
+
wallet: wallet,
|
|
18
|
+
connection: connection
|
|
19
|
+
});
|
|
20
|
+
var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
|
|
21
|
+
if (!wallet.publicKey)
|
|
22
|
+
return null;
|
|
23
|
+
var walletPubkey = wallet.publicKey.toString();
|
|
24
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'solana' }));
|
|
25
|
+
}
|
|
26
|
+
function CoinflowNearWithdraw(_a) {
|
|
27
|
+
var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env, onSuccess = _a.onSuccess;
|
|
28
|
+
var handlers = useNearIFrameMessageHandlers({
|
|
29
|
+
wallet: wallet
|
|
30
|
+
});
|
|
31
|
+
var IFrameRef = useIframeWallet(handlers, onSuccess).IFrameRef;
|
|
32
|
+
if (!wallet)
|
|
8
33
|
return null;
|
|
9
|
-
|
|
34
|
+
var walletPubkey = wallet.accountId;
|
|
35
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/withdraw/".concat(merchantId), env: env, blockchain: 'near' }));
|
|
10
36
|
}
|
|
11
37
|
//# sourceMappingURL=CoinflowWithdraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../../src/CoinflowWithdraw.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoinflowWithdraw.js","sourceRoot":"","sources":["../../src/CoinflowWithdraw.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAGL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AAqBzE,MAAM,UAAU,gBAAgB,CAC9B,KAA8D;IAE9D,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,sBAAsB,eAAM,KAAqC,EAAI,CACvE;QACD,IAAI,EAAE,oBAAC,oBAAoB,eAAM,KAAmC,EAAI;KACzE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,EAMF;QAL5B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,UAAU,gBAAA,EACV,SAAS,eAAA;IAET,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAxC,CAAyC;IAEzD,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAa,UAAU,CAAE,EAChC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,GACpB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAKF;QAJ1B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA,EACH,SAAS,eAAA;IAET,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAxC,CAAyC;IAEzD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAa,UAAU,CAAE,EAChC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GAClB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { CoinflowEnvs,
|
|
2
|
+
import { CoinflowBlockchain, CoinflowEnvs, NearWallet, SolanaWalletContextState } from './CoinflowUtils';
|
|
3
3
|
import { Connection } from '@solana/web3.js';
|
|
4
|
-
export
|
|
5
|
-
wallet: SubsetWalletContextState;
|
|
4
|
+
export interface CoinflowHistoryProps {
|
|
6
5
|
merchantId: string;
|
|
7
|
-
connection: Connection;
|
|
8
6
|
env?: CoinflowEnvs;
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
blockchain: CoinflowBlockchain;
|
|
8
|
+
}
|
|
9
|
+
export interface CoinflowSolanaHistoryProps extends CoinflowHistoryProps {
|
|
10
|
+
wallet: SolanaWalletContextState;
|
|
11
|
+
connection: Connection;
|
|
12
|
+
blockchain: 'solana';
|
|
13
|
+
}
|
|
14
|
+
export interface CoinflowNearHistoryProps extends CoinflowHistoryProps {
|
|
15
|
+
wallet: NearWallet;
|
|
16
|
+
blockchain: 'near';
|
|
17
|
+
}
|
|
18
|
+
export declare function CoinflowWithdrawHistory(props: CoinflowSolanaHistoryProps | CoinflowNearHistoryProps): JSX.Element;
|
|
@@ -1,11 +1,37 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { CoinflowUtils, } from './CoinflowUtils';
|
|
1
3
|
import { useIframeWallet } from './useIframeWallet';
|
|
2
4
|
import { CoinflowIFrame } from './CoinflowIFrame';
|
|
3
5
|
import React from 'react';
|
|
4
|
-
|
|
6
|
+
import { useSolanaIFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
|
|
7
|
+
import { useNearIFrameMessageHandlers } from './NearIFrameMessageHandlers';
|
|
8
|
+
export function CoinflowWithdrawHistory(props) {
|
|
9
|
+
return CoinflowUtils.byBlockchain(props.blockchain, {
|
|
10
|
+
solana: (React.createElement(SolanaWithdrawHistory, __assign({}, props))),
|
|
11
|
+
near: React.createElement(NearWithdrawHistory, __assign({}, props))
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function SolanaWithdrawHistory(_a) {
|
|
5
15
|
var wallet = _a.wallet, merchantId = _a.merchantId, connection = _a.connection, env = _a.env;
|
|
6
|
-
var
|
|
7
|
-
|
|
16
|
+
var handlers = useSolanaIFrameMessageHandlers({
|
|
17
|
+
wallet: wallet,
|
|
18
|
+
connection: connection
|
|
19
|
+
});
|
|
20
|
+
var IFrameRef = useIframeWallet(handlers).IFrameRef;
|
|
21
|
+
if (!wallet.publicKey)
|
|
22
|
+
return null;
|
|
23
|
+
var walletPubkey = wallet.publicKey.toString();
|
|
24
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'solana' }));
|
|
25
|
+
}
|
|
26
|
+
function NearWithdrawHistory(_a) {
|
|
27
|
+
var wallet = _a.wallet, merchantId = _a.merchantId, env = _a.env;
|
|
28
|
+
var handlers = useNearIFrameMessageHandlers({
|
|
29
|
+
wallet: wallet
|
|
30
|
+
});
|
|
31
|
+
var IFrameRef = useIframeWallet(handlers).IFrameRef;
|
|
32
|
+
if (!wallet)
|
|
8
33
|
return null;
|
|
9
|
-
|
|
34
|
+
var walletPubkey = wallet.accountId;
|
|
35
|
+
return (React.createElement(CoinflowIFrame, { walletPubkey: walletPubkey, IFrameRef: IFrameRef, route: "/history/withdraw/".concat(merchantId), env: env, blockchain: 'near' }));
|
|
10
36
|
}
|
|
11
37
|
//# sourceMappingURL=CoinflowWithdrawHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoinflowWithdrawHistory.js","sourceRoot":"","sources":["../../src/CoinflowWithdrawHistory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AAmBzE,MAAM,UAAU,uBAAuB,CACrC,KAA4D;IAE5D,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,CACN,oBAAC,qBAAqB,eAAM,KAAoC,EAAI,CACrE;QACD,IAAI,EAAE,oBAAC,mBAAmB,eAAM,KAAkC,EAAI;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,EAKF;QAJ3B,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,8BAA8B,CAAC;QAC9C,MAAM,QAAA;QACN,UAAU,YAAA;KACX,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEjD,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,QAAQ,GACpB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAIF;QAHzB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,GAAG,SAAA;IAEH,IAAM,QAAQ,GAAG,4BAA4B,CAAC;QAC5C,MAAM,QAAA;KACP,CAAC,CAAC;IACI,IAAA,SAAS,GAAI,eAAe,CAAC,QAAQ,CAAC,UAA7B,CAA8B;IAE9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,OAAO,CACL,oBAAC,cAAc,IACb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,4BAAqB,UAAU,CAAE,EACxC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GAClB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
export function useNearIFrameMessageHandlers(_a) {
|
|
4
|
+
var _this = this;
|
|
5
|
+
var wallet = _a.wallet;
|
|
6
|
+
var handleSignMessage = useCallback(function (_a) {
|
|
7
|
+
var data = _a.data;
|
|
8
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
9
|
+
var message, owner;
|
|
10
|
+
return __generator(this, function (_b) {
|
|
11
|
+
switch (_b.label) {
|
|
12
|
+
case 0:
|
|
13
|
+
message = data;
|
|
14
|
+
return [4 /*yield*/, wallet.verifyOwner({
|
|
15
|
+
message: message
|
|
16
|
+
})];
|
|
17
|
+
case 1:
|
|
18
|
+
owner = _b.sent();
|
|
19
|
+
if (!owner)
|
|
20
|
+
throw new Error('Wallet did not sign');
|
|
21
|
+
return [2 /*return*/, JSON.stringify(owner)];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}, [wallet]);
|
|
26
|
+
var handleSendTransaction = useCallback(function (_a) {
|
|
27
|
+
var data = _a.data;
|
|
28
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
29
|
+
var action, executionOutcome, transactionResult;
|
|
30
|
+
return __generator(this, function (_b) {
|
|
31
|
+
switch (_b.label) {
|
|
32
|
+
case 0:
|
|
33
|
+
action = JSON.parse(Buffer.from(data, 'base64').toString());
|
|
34
|
+
return [4 /*yield*/, wallet.signAndSendTransaction(action)];
|
|
35
|
+
case 1:
|
|
36
|
+
executionOutcome = _b.sent();
|
|
37
|
+
if (!executionOutcome)
|
|
38
|
+
throw new Error('Transaction did not send');
|
|
39
|
+
transactionResult = executionOutcome.transaction;
|
|
40
|
+
return [2 /*return*/, transactionResult.hash];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}, [wallet]);
|
|
45
|
+
return {
|
|
46
|
+
handleSendTransaction: handleSendTransaction,
|
|
47
|
+
handleSignMessage: handleSignMessage
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=NearIFrameMessageHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NearIFrameMessageHandlers.js","sourceRoot":"","sources":["../../src/NearIFrameMessageHandlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AAIlC,MAAM,UAAU,4BAA4B,CAAC,EAI5C;IAJD,iBAgCC;QA/BC,MAAM,YAAA;IAIN,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACJ,OAAO,GAAG,IAAI,CAAC;wBACP,qBAAM,MAAM,CAAC,WAAW,CAAC;gCACrC,OAAO,SAAA;6BACR,CAAC,EAAA;;wBAFI,KAAK,GAAG,SAEZ;wBACF,IAAI,CAAC,KAAK;4BAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;wBACnD,sBAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC;;;;KAC9B,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzC,qBAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAA;;wBAA9D,gBAAgB,GAAG,SAA2C;wBACpE,IAAI,CAAC,gBAAgB;4BAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;wBAC/C,iBAAiB,GAAI,gBAAgB,YAApB,CAAqB;wBAC1D,sBAAO,iBAAiB,CAAC,IAAI,EAAC;;;;KAC/B,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;QACrB,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Connection, Signer } from '@solana/web3.js';
|
|
2
|
+
import { SolanaWalletContextState } from './CoinflowUtils';
|
|
3
|
+
export type WalletCall = {
|
|
4
|
+
method: string;
|
|
5
|
+
data: string;
|
|
6
|
+
};
|
|
7
|
+
export type SolanaIFrameWalletProps = {
|
|
8
|
+
wallet: SolanaWalletContextState;
|
|
9
|
+
connection: Connection;
|
|
10
|
+
partialSigners?: Signer[];
|
|
11
|
+
debugTx?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export type IFrameMessageHandlers = {
|
|
14
|
+
handleSignTransaction?: ({ data }: WalletCall) => Promise<string>;
|
|
15
|
+
handleSendTransaction: ({ data }: WalletCall) => Promise<string>;
|
|
16
|
+
handleSignMessage: ({ data }: WalletCall) => Promise<string>;
|
|
17
|
+
};
|
|
18
|
+
export declare function useSolanaIFrameMessageHandlers({ wallet, connection, partialSigners, debugTx, }: SolanaIFrameWalletProps): IFrameMessageHandlers;
|