@coinflowlabs/react 0.2.3 → 0.2.5

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 CHANGED
@@ -40,6 +40,14 @@ Props:
40
40
 
41
41
  # Changelog
42
42
 
43
+ ### 0.2.5
44
+
45
+ - Fixing an issue when passing partialSigners not working with the setup transaction
46
+
47
+ ### 0.2.4
48
+
49
+ - Setup and Redeem transactions now run gasless, which doesnt require the user to have SOL in their account to interact with coinflow
50
+
43
51
  ### 0.2.2,0.2.3
44
52
 
45
53
  - Added the optional debugTx parameter to allow for easier debugging of any redeem transaction related issues.
@@ -0,0 +1,10 @@
1
+ import { Transaction } from '@solana/web3.js';
2
+ import { CoinflowEnvs } from './CoinflowIFrame';
3
+ export declare class CoinflowUtils {
4
+ env: CoinflowEnvs;
5
+ url: string;
6
+ constructor(env?: CoinflowEnvs);
7
+ setupCreditRedeemTx(transaction: Transaction, amount: number): Promise<Transaction>;
8
+ transactionToBase58(transaction: Transaction): string;
9
+ base58ToTransaction(bs58: string): Transaction;
10
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.CoinflowUtils = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var web3_js_1 = require("@solana/web3.js");
6
+ var axios_1 = tslib_1.__importDefault(require("axios"));
7
+ var bs58_1 = tslib_1.__importDefault(require("bs58"));
8
+ var CoinflowUtils = /** @class */ (function () {
9
+ function CoinflowUtils(env) {
10
+ this.env = env !== null && env !== void 0 ? env : 'prod';
11
+ if (this.env === 'prod')
12
+ this.url = 'https://api.coinflow.cash';
13
+ else if (this.env === 'local')
14
+ this.url = 'http://localhost:5000';
15
+ else
16
+ this.url = "https://api-".concat(this.env, ".coinflow.cash");
17
+ }
18
+ CoinflowUtils.prototype.setupCreditRedeemTx = function (transaction, amount) {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
20
+ var data;
21
+ return tslib_1.__generator(this, function (_a) {
22
+ switch (_a.label) {
23
+ case 0: return [4 /*yield*/, axios_1["default"].post(this.url + '/v1/redeem', {
24
+ tx: this.transactionToBase58(transaction),
25
+ amount: amount
26
+ })];
27
+ case 1:
28
+ data = (_a.sent()).data;
29
+ return [2 /*return*/, this.base58ToTransaction(data)];
30
+ }
31
+ });
32
+ });
33
+ };
34
+ CoinflowUtils.prototype.transactionToBase58 = function (transaction) {
35
+ return bs58_1["default"].encode(transaction.serialize({
36
+ requireAllSignatures: false,
37
+ verifySignatures: false
38
+ }));
39
+ };
40
+ CoinflowUtils.prototype.base58ToTransaction = function (bs58) {
41
+ return web3_js_1.Transaction.from(bs58_1["default"].decode(bs58));
42
+ };
43
+ return CoinflowUtils;
44
+ }());
45
+ exports.CoinflowUtils = CoinflowUtils;
46
+ //# sourceMappingURL=CoinflowUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAE5C,wDAA0B;AAC1B,sDAA0B;AAE1B;IAIE,uBAAY,GAAkB;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,2BAA2B,CAAC;aAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,uBAAuB,CAAC;;YAC7D,IAAI,CAAC,GAAG,GAAG,sBAAe,IAAI,CAAC,GAAG,mBAAgB,CAAC;IAC1D,CAAC;IAEK,2CAAmB,GAAzB,UACE,WAAwB,EACxB,MAAc;;;;;4BAEC,qBAAM,kBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE;4BACvD,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;4BACzC,MAAM,QAAA;yBACP,CAAC,EAAA;;wBAHK,IAAI,GAAI,CAAA,SAGb,CAAA,KAHS;wBAIX,sBAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC;;;;KACvC;IAED,2CAAmB,GAAnB,UAAoB,WAAwB;QAC1C,OAAO,iBAAM,CAAC,MAAM,CAClB,WAAW,CAAC,SAAS,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2CAAmB,GAAnB,UAAoB,IAAY;QAC9B,OAAO,qBAAW,CAAC,IAAI,CAAC,iBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACH,oBAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,sCAAa"}
@@ -57,26 +57,30 @@ function useIframeWallet(_a) {
57
57
  var handleSendTransaction = (0, react_1.useCallback)(function (_a) {
58
58
  var data = _a.data;
59
59
  return tslib_1.__awaiter(_this, void 0, void 0, function () {
60
- var tx, _b, signature;
61
- return tslib_1.__generator(this, function (_c) {
62
- switch (_c.label) {
60
+ var tx, partiallySign, signature;
61
+ return tslib_1.__generator(this, function (_b) {
62
+ switch (_b.label) {
63
63
  case 0:
64
64
  tx = web3_js_1.Transaction.from(bs58_1["default"].decode(data));
65
- _b = tx;
66
- return [4 /*yield*/, connection.getLatestBlockhash()];
67
- case 1:
68
- _b.recentBlockhash = (_c.sent()).blockhash;
69
- // Partially sign the transaction with any partial signers
70
- if (partialSigners)
71
- partialSigners.forEach(function (signer) { return tx.partialSign(signer); });
72
- if (!debugTx) return [3 /*break*/, 3];
65
+ partiallySign = function (signer) {
66
+ var requiredSignatures = tx.signatures.map(function (sig) {
67
+ return sig.publicKey.toString();
68
+ });
69
+ var shouldSign = requiredSignatures.includes(signer.publicKey.toString());
70
+ if (shouldSign)
71
+ tx.partialSign(signer);
72
+ };
73
+ if (partialSigners) {
74
+ partialSigners.forEach(partiallySign);
75
+ }
76
+ if (!debugTx) return [3 /*break*/, 2];
73
77
  return [4 /*yield*/, sendTransactionDebug(tx)];
74
- case 2:
75
- _c.sent();
78
+ case 1:
79
+ _b.sent();
76
80
  return [2 /*return*/];
77
- case 3: return [4 /*yield*/, wallet.sendTransaction(tx, connection)];
78
- case 4:
79
- signature = _c.sent();
81
+ case 2: return [4 /*yield*/, wallet.sendTransaction(tx, connection)];
82
+ case 3:
83
+ signature = _b.sent();
80
84
  sendIFrameMessage(signature);
81
85
  return [2 /*return*/];
82
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Transaction } from '@solana/web3.js';
2
+ import { CoinflowEnvs } from './CoinflowIFrame';
3
+ export declare class CoinflowUtils {
4
+ env: CoinflowEnvs;
5
+ url: string;
6
+ constructor(env?: CoinflowEnvs);
7
+ setupCreditRedeemTx(transaction: Transaction, amount: number): Promise<Transaction>;
8
+ transactionToBase58(transaction: Transaction): string;
9
+ base58ToTransaction(bs58: string): Transaction;
10
+ }
@@ -0,0 +1,43 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { Transaction } from '@solana/web3.js';
3
+ import axios from 'axios';
4
+ import base58 from 'bs58';
5
+ var CoinflowUtils = /** @class */ (function () {
6
+ function CoinflowUtils(env) {
7
+ this.env = env !== null && env !== void 0 ? env : 'prod';
8
+ if (this.env === 'prod')
9
+ this.url = 'https://api.coinflow.cash';
10
+ else if (this.env === 'local')
11
+ this.url = 'http://localhost:5000';
12
+ else
13
+ this.url = "https://api-".concat(this.env, ".coinflow.cash");
14
+ }
15
+ CoinflowUtils.prototype.setupCreditRedeemTx = function (transaction, amount) {
16
+ return __awaiter(this, void 0, void 0, function () {
17
+ var data;
18
+ return __generator(this, function (_a) {
19
+ switch (_a.label) {
20
+ case 0: return [4 /*yield*/, axios.post(this.url + '/v1/redeem', {
21
+ tx: this.transactionToBase58(transaction),
22
+ amount: amount
23
+ })];
24
+ case 1:
25
+ data = (_a.sent()).data;
26
+ return [2 /*return*/, this.base58ToTransaction(data)];
27
+ }
28
+ });
29
+ });
30
+ };
31
+ CoinflowUtils.prototype.transactionToBase58 = function (transaction) {
32
+ return base58.encode(transaction.serialize({
33
+ requireAllSignatures: false,
34
+ verifySignatures: false
35
+ }));
36
+ };
37
+ CoinflowUtils.prototype.base58ToTransaction = function (bs58) {
38
+ return Transaction.from(base58.decode(bs58));
39
+ };
40
+ return CoinflowUtils;
41
+ }());
42
+ export { CoinflowUtils };
43
+ //# sourceMappingURL=CoinflowUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoinflowUtils.js","sourceRoot":"","sources":["../../src/CoinflowUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,MAAM,CAAC;AAE1B;IAIE,uBAAY,GAAkB;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM;YAAE,IAAI,CAAC,GAAG,GAAG,2BAA2B,CAAC;aAC3D,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,uBAAuB,CAAC;;YAC7D,IAAI,CAAC,GAAG,GAAG,sBAAe,IAAI,CAAC,GAAG,mBAAgB,CAAC;IAC1D,CAAC;IAEK,2CAAmB,GAAzB,UACE,WAAwB,EACxB,MAAc;;;;;4BAEC,qBAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE;4BACvD,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;4BACzC,MAAM,QAAA;yBACP,CAAC,EAAA;;wBAHK,IAAI,GAAI,CAAA,SAGb,CAAA,KAHS;wBAIX,sBAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC;;;;KACvC;IAED,2CAAmB,GAAnB,UAAoB,WAAwB;QAC1C,OAAO,MAAM,CAAC,MAAM,CAClB,WAAW,CAAC,SAAS,CAAC;YACpB,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,KAAK;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2CAAmB,GAAnB,UAAoB,IAAY;QAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACH,oBAAC;AAAD,CAAC,AAlCD,IAkCC"}
@@ -54,26 +54,30 @@ export function useIframeWallet(_a) {
54
54
  var handleSendTransaction = useCallback(function (_a) {
55
55
  var data = _a.data;
56
56
  return __awaiter(_this, void 0, void 0, function () {
57
- var tx, _b, signature;
58
- return __generator(this, function (_c) {
59
- switch (_c.label) {
57
+ var tx, partiallySign, signature;
58
+ return __generator(this, function (_b) {
59
+ switch (_b.label) {
60
60
  case 0:
61
61
  tx = Transaction.from(base58.decode(data));
62
- _b = tx;
63
- return [4 /*yield*/, connection.getLatestBlockhash()];
64
- case 1:
65
- _b.recentBlockhash = (_c.sent()).blockhash;
66
- // Partially sign the transaction with any partial signers
67
- if (partialSigners)
68
- partialSigners.forEach(function (signer) { return tx.partialSign(signer); });
69
- if (!debugTx) return [3 /*break*/, 3];
62
+ partiallySign = function (signer) {
63
+ var requiredSignatures = tx.signatures.map(function (sig) {
64
+ return sig.publicKey.toString();
65
+ });
66
+ var shouldSign = requiredSignatures.includes(signer.publicKey.toString());
67
+ if (shouldSign)
68
+ tx.partialSign(signer);
69
+ };
70
+ if (partialSigners) {
71
+ partialSigners.forEach(partiallySign);
72
+ }
73
+ if (!debugTx) return [3 /*break*/, 2];
70
74
  return [4 /*yield*/, sendTransactionDebug(tx)];
71
- case 2:
72
- _c.sent();
75
+ case 1:
76
+ _b.sent();
73
77
  return [2 /*return*/];
74
- case 3: return [4 /*yield*/, wallet.sendTransaction(tx, connection)];
75
- case 4:
76
- signature = _c.sent();
78
+ case 2: return [4 /*yield*/, wallet.sendTransaction(tx, connection)];
79
+ case 3:
80
+ signature = _b.sent();
77
81
  sendIFrameMessage(signature);
78
82
  return [2 /*return*/];
79
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinflowlabs/react",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "React Component for Coinflow Withdraw",
5
5
  "main": "./build/cjs/index.js",
6
6
  "module": "./build/esm/index.js",