@kimafinance/kima-transaction-widget 1.1.3 → 1.1.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.
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { DefaultProps, TransactionOption, ModeOptions, TitleOption } from '../interface';
2
+ import { DefaultProps, TransactionOption, ModeOptions, TitleOption, PaymentTitleOption } from '../interface';
3
3
  import '../index.css';
4
4
  interface Props extends DefaultProps {
5
5
  mode: ModeOptions;
6
6
  txId?: number;
7
7
  titleOption?: TitleOption;
8
+ paymentTitleOption?: PaymentTitleOption;
8
9
  kimaBackendUrl: string;
9
10
  transactionOption?: TransactionOption;
10
11
  kimaNodeProviderQuery: string;
@@ -12,5 +13,5 @@ interface Props extends DefaultProps {
12
13
  closeHandler?: (e: any) => void;
13
14
  successHandler?: (e: any) => void;
14
15
  }
15
- export declare const KimaTransactionWidget: ({ mode, txId, theme, fontSize, titleOption, transactionOption, kimaBackendUrl, kimaNodeProviderQuery, errorHandler, closeHandler, successHandler }: Props) => JSX.Element;
16
+ export declare const KimaTransactionWidget: ({ mode, txId, theme, fontSize, titleOption, paymentTitleOption, transactionOption, kimaBackendUrl, kimaNodeProviderQuery, errorHandler, closeHandler, successHandler }: Props) => JSX.Element;
16
17
  export {};
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { DefaultProps, TitleOption } from '../interface';
2
+ import { DefaultProps, PaymentTitleOption, TitleOption } from '../interface';
3
3
  import '../index.css';
4
4
  interface Props extends DefaultProps {
5
5
  titleOption?: TitleOption;
6
+ paymentTitleOption?: PaymentTitleOption;
6
7
  }
7
- export declare const TransferWidget: ({ theme, fontSize, titleOption }: Props) => JSX.Element;
8
+ export declare const TransferWidget: ({ theme, fontSize, titleOption, paymentTitleOption }: Props) => JSX.Element;
8
9
  export {};
@@ -1,3 +1,6 @@
1
1
  /// <reference types="react" />
2
- declare const SingleForm: () => JSX.Element;
2
+ import { PaymentTitleOption } from '../../interface';
3
+ declare const SingleForm: ({ paymentTitleOption }: {
4
+ paymentTitleOption?: PaymentTitleOption | undefined;
5
+ }) => JSX.Element;
3
6
  export default SingleForm;
package/dist/index.js CHANGED
@@ -571,7 +571,7 @@ var SupportedChainId;
571
571
  })(SupportedChainId || (SupportedChainId = {}));
572
572
  var CHAIN_NAMES_TO_IDS = (_CHAIN_NAMES_TO_IDS = {}, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.ETHEREUM] = SupportedChainId.ETHEREUM, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.POLYGON] = SupportedChainId.POLYGON, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.AVALANCHE] = SupportedChainId.AVALANCHE, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.FUSE] = SupportedChainId.FUSE, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.CELO] = SupportedChainId.CELO, _CHAIN_NAMES_TO_IDS);
573
573
  var CHAIN_NAMES_TO_STRING = (_CHAIN_NAMES_TO_STRIN = {}, _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.ETHEREUM] = 'Ethereum', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.POLYGON] = 'Polygon', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.AVALANCHE] = 'Avalanche', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.FUSE] = 'Fuse', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.CELO] = 'Celo', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.SOLANA] = 'Solana', _CHAIN_NAMES_TO_STRIN);
574
- var CHAIN_NAMES_TO_EXPLORER = (_CHAIN_NAMES_TO_EXPLO = {}, _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.ETHEREUM] = 'sepolia.etherscan.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.POLYGON] = 'mumbai.polygonscan.com', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.AVALANCHE] = 'testnet.snowtrace.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.FUSE] = 'explorer.fuse.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.CELO] = 'explorer.celo.org', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.SOLANA] = 'solscan.io/blocks?cluster=devnet', _CHAIN_NAMES_TO_EXPLO);
574
+ var CHAIN_NAMES_TO_EXPLORER = (_CHAIN_NAMES_TO_EXPLO = {}, _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.ETHEREUM] = 'sepolia.etherscan.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.POLYGON] = 'mumbai.polygonscan.com', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.AVALANCHE] = 'testnet.snowtrace.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.FUSE] = 'explorer.fuse.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.CELO] = 'explorer.celo.org', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.SOLANA] = 'solscan.io', _CHAIN_NAMES_TO_EXPLO);
575
575
  var CHAIN_NAMES_TO_GECKO_ID = (_CHAIN_NAMES_TO_GECKO = {}, _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.ETHEREUM] = 'ethereum', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.POLYGON] = 'matic-network', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.AVALANCHE] = 'avalanche-2', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.FUSE] = 'fuse-network-token', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.CELO] = 'celo', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.SOLANA] = 'solana', _CHAIN_NAMES_TO_GECKO);
576
576
  var CHAIN_IDS_TO_NAMES = (_CHAIN_IDS_TO_NAMES = {}, _CHAIN_IDS_TO_NAMES[SupportedChainId.ETHEREUM] = exports.SupportNetworks.ETHEREUM, _CHAIN_IDS_TO_NAMES[SupportedChainId.POLYGON] = exports.SupportNetworks.POLYGON, _CHAIN_IDS_TO_NAMES[SupportedChainId.AVALANCHE] = exports.SupportNetworks.AVALANCHE, _CHAIN_IDS_TO_NAMES[SupportedChainId.FUSE] = exports.SupportNetworks.FUSE, _CHAIN_IDS_TO_NAMES[SupportedChainId.CELO] = exports.SupportNetworks.CELO, _CHAIN_IDS_TO_NAMES);
577
577
  var networkOptions = [{
@@ -640,7 +640,8 @@ var TransactionStatus;
640
640
  TransactionStatus["CONFIRMED"] = "Confirmed";
641
641
  TransactionStatus["PAID"] = "Paid";
642
642
  TransactionStatus["COMPLETED"] = "Completed";
643
- TransactionStatus["FAILED"] = "FailedToPay";
643
+ TransactionStatus["FAILEDTOPAY"] = "FailedToPay";
644
+ TransactionStatus["FAILEDTOPULL"] = "FailedToPull";
644
645
  TransactionStatus["UNAVAILABLE"] = "UnAvailable";
645
646
  TransactionStatus["KEYSIGNED"] = "KeySigned";
646
647
  })(TransactionStatus || (TransactionStatus = {}));
@@ -667,8 +668,8 @@ var TransactionStatus;
667
668
  var initialState = {
668
669
  theme: exports.ThemeOptions.light,
669
670
  mode: exports.ModeOptions.bridge,
670
- originNetwork: 'ETH',
671
- targetNetwork: 'POL',
671
+ originNetwork: '',
672
+ targetNetwork: '',
672
673
  targetAddress: '',
673
674
  connectModal: false,
674
675
  helpPopup: false,
@@ -2297,13 +2298,13 @@ var StepBox = function StepBox(_ref) {
2297
2298
  }))) : null, index === 1 && data !== null && data !== void 0 && data.tssPullHash ? React__default.createElement("div", {
2298
2299
  className: 'info-item'
2299
2300
  }, React__default.createElement("p", null, CHAIN_NAMES_TO_STRING[(data === null || data === void 0 ? void 0 : data.sourceChain) || exports.SupportNetworks.ETHEREUM], ' ', "TX ID:", React__default.createElement(ExternalLink, {
2300
- to: "https://" + CHAIN_NAMES_TO_EXPLORER[(data === null || data === void 0 ? void 0 : data.sourceChain) || exports.SupportNetworks.ETHEREUM] + "/tx/" + (data === null || data === void 0 ? void 0 : data.tssPullHash)
2301
+ to: "https://" + CHAIN_NAMES_TO_EXPLORER[(data === null || data === void 0 ? void 0 : data.sourceChain) || exports.SupportNetworks.ETHEREUM] + "/tx/" + (data === null || data === void 0 ? void 0 : data.tssPullHash) + ((data === null || data === void 0 ? void 0 : data.sourceChain) === exports.SupportNetworks.SOLANA ? '?cluster=devnet' : '')
2301
2302
  }, getShortenedAddress((data === null || data === void 0 ? void 0 : data.tssPullHash) || '')), React__default.createElement(CopyButton, {
2302
2303
  text: (data === null || data === void 0 ? void 0 : data.tssPullHash) || ''
2303
2304
  }))) : null, index === 3 && data !== null && data !== void 0 && data.tssReleaseHash ? React__default.createElement("div", {
2304
2305
  className: 'info-item'
2305
2306
  }, React__default.createElement("p", null, CHAIN_NAMES_TO_STRING[(data === null || data === void 0 ? void 0 : data.targetChain) || exports.SupportNetworks.ETHEREUM], ' ', "TX ID:", React__default.createElement(ExternalLink, {
2306
- to: "https://" + CHAIN_NAMES_TO_EXPLORER[(data === null || data === void 0 ? void 0 : data.targetChain) || exports.SupportNetworks.ETHEREUM] + "/tx/" + (data === null || data === void 0 ? void 0 : data.tssReleaseHash)
2307
+ to: "https://" + CHAIN_NAMES_TO_EXPLORER[(data === null || data === void 0 ? void 0 : data.targetChain) || exports.SupportNetworks.ETHEREUM] + "/tx/" + (data === null || data === void 0 ? void 0 : data.tssReleaseHash) + ((data === null || data === void 0 ? void 0 : data.targetChain) === exports.SupportNetworks.SOLANA ? '?cluster=devnet' : '')
2307
2308
  }, getShortenedAddress((data === null || data === void 0 ? void 0 : data.tssReleaseHash) || '')), React__default.createElement(CopyButton, {
2308
2309
  text: (data === null || data === void 0 ? void 0 : data.tssReleaseHash) || ''
2309
2310
  }))) : null);
@@ -2505,6 +2506,7 @@ var TransactionWidget = function TransactionWidget(_ref) {
2505
2506
  setPercent(25);
2506
2507
  setErrorStep(1);
2507
2508
  setLoadingStep(-1);
2509
+ console.log(data.failReason);
2508
2510
  } else if (status === TransactionStatus.KEYSIGNED) {
2509
2511
  setStep(3);
2510
2512
  setPercent(75);
@@ -2513,11 +2515,18 @@ var TransactionWidget = function TransactionWidget(_ref) {
2513
2515
  setStep(3);
2514
2516
  setPercent(90);
2515
2517
  setLoadingStep(3);
2516
- } else if (status === TransactionStatus.FAILED) {
2518
+ } else if (status === TransactionStatus.FAILEDTOPAY) {
2517
2519
  setStep(3);
2518
2520
  setPercent(90);
2519
2521
  setErrorStep(3);
2520
2522
  setLoadingStep(-1);
2523
+ console.log(data.failReason);
2524
+ } else if (status === TransactionStatus.FAILEDTOPULL) {
2525
+ setStep(1);
2526
+ setPercent(25);
2527
+ setErrorStep(1);
2528
+ setLoadingStep(-1);
2529
+ console.log(data.failReason);
2521
2530
  } else if (status === TransactionStatus.COMPLETED) {
2522
2531
  setStep(4);
2523
2532
  setPercent(100);
@@ -2608,7 +2617,8 @@ var TransactionWidget = function TransactionWidget(_ref) {
2608
2617
  })));
2609
2618
  };
2610
2619
 
2611
- var SingleForm = function SingleForm() {
2620
+ var SingleForm = function SingleForm(_ref) {
2621
+ var paymentTitleOption = _ref.paymentTitleOption;
2612
2622
  var dispatch = reactRedux.useDispatch();
2613
2623
  var mode = reactRedux.useSelector(selectMode);
2614
2624
  var theme = reactRedux.useSelector(selectTheme);
@@ -2617,7 +2627,14 @@ var SingleForm = function SingleForm() {
2617
2627
  var selectedCoin = reactRedux.useSelector(selectCurrencyOptions);
2618
2628
  return React__default.createElement("div", {
2619
2629
  className: 'single-form'
2620
- }, React__default.createElement("div", {
2630
+ }, mode === exports.ModeOptions.payment ? React__default.createElement("p", {
2631
+ className: 'payment-title',
2632
+ style: {
2633
+ fontSize: paymentTitleOption === null || paymentTitleOption === void 0 ? void 0 : paymentTitleOption.fontSize,
2634
+ fontWeight: paymentTitleOption === null || paymentTitleOption === void 0 ? void 0 : paymentTitleOption.fontWeight,
2635
+ color: paymentTitleOption === null || paymentTitleOption === void 0 ? void 0 : paymentTitleOption.color
2636
+ }
2637
+ }, paymentTitleOption === null || paymentTitleOption === void 0 ? void 0 : paymentTitleOption.title) : null, React__default.createElement("div", {
2621
2638
  className: 'form-item'
2622
2639
  }, React__default.createElement("span", {
2623
2640
  className: 'label'
@@ -6584,15 +6601,14 @@ function useAllowance() {
6584
6601
  var updatePoolAddress = function updatePoolAddress() {
6585
6602
  try {
6586
6603
  return Promise.resolve(_catch(function () {
6587
- if (sourceChain === exports.SupportNetworks.SOLANA) {
6588
- setTargetAddress('8ymXJ6RH9k8qSf1xsvxSWgzPB9RYgUuHPDgonkFzUEhT');
6589
- return;
6590
- }
6591
6604
  return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/tss_pubkey")).then(function (result) {
6592
6605
  var _result$tssPubkey;
6593
6606
  if ((result === null || result === void 0 ? void 0 : (_result$tssPubkey = result.tssPubkey) === null || _result$tssPubkey === void 0 ? void 0 : _result$tssPubkey.length) < 1) {
6594
6607
  return;
6595
6608
  }
6609
+ if (sourceChain === exports.SupportNetworks.SOLANA && !result.tssPubkey[0].ebdsa) {
6610
+ console.log('solana pool address is missing');
6611
+ }
6596
6612
  setTargetAddress(sourceChain === exports.SupportNetworks.SOLANA ? result.tssPubkey[0].ebdsa : result.tssPubkey[0].ecdsa);
6597
6613
  });
6598
6614
  }, function (e) {
@@ -6656,7 +6672,7 @@ function useAllowance() {
6656
6672
  var mint = new web3_js.PublicKey(tokenAddress);
6657
6673
  var toPublicKey = new web3_js.PublicKey(targetAddress);
6658
6674
  return Promise.resolve(getOrCreateAssociatedTokenAccount(connection, publicKey, mint, publicKey, signTransaction)).then(function (fromTokenAccount) {
6659
- var transaction = new web3_js.Transaction().add(createApproveTransferInstruction(fromTokenAccount.address, toPublicKey, publicKey, (amount + serviceFee) * Math.pow(10, COIN_LIST['USDK'].decimals), [], splToken.TOKEN_PROGRAM_ID));
6675
+ var transaction = new web3_js.Transaction().add(createApproveTransferInstruction(fromTokenAccount.address, toPublicKey, publicKey, +(amount + serviceFee).toFixed(2) * Math.pow(10, COIN_LIST['USDK'].decimals), [], splToken.TOKEN_PROGRAM_ID));
6660
6676
  return Promise.resolve(connection.getLatestBlockhash()).then(function (blockHash) {
6661
6677
  transaction.feePayer = publicKey;
6662
6678
  return Promise.resolve(blockHash.blockhash).then(function (_blockHash$blockhash) {
@@ -6871,7 +6887,8 @@ var TransferWidget = function TransferWidget(_ref) {
6871
6887
  theme = _ref$theme === void 0 ? exports.ThemeOptions.light : _ref$theme,
6872
6888
  _ref$fontSize = _ref.fontSize,
6873
6889
  fontSize = _ref$fontSize === void 0 ? exports.FontSizeOptions.medium : _ref$fontSize,
6874
- titleOption = _ref.titleOption;
6890
+ titleOption = _ref.titleOption,
6891
+ paymentTitleOption = _ref.paymentTitleOption;
6875
6892
  var dispatch = reactRedux.useDispatch();
6876
6893
  var _useState = React.useState(false),
6877
6894
  isWizard = _useState[0],
@@ -7099,7 +7116,9 @@ var TransferWidget = function TransferWidget(_ref) {
7099
7116
  isOriginChain: false
7100
7117
  }) : wizardStep === 3 ? React__default.createElement(AddressInputWizard, null) : wizardStep === 4 ? React__default.createElement(CoinSelect, null) : React__default.createElement(ConfirmDetails, {
7101
7118
  isApproved: isApproved
7102
- }) : formStep === 0 ? React__default.createElement(SingleForm, null) : React__default.createElement(ConfirmDetails, {
7119
+ }) : formStep === 0 ? React__default.createElement(SingleForm, {
7120
+ paymentTitleOption: paymentTitleOption
7121
+ }) : React__default.createElement(ConfirmDetails, {
7103
7122
  isApproved: isApproved
7104
7123
  })), React__default.createElement("div", {
7105
7124
  className: 'kima-card-footer'
@@ -7135,6 +7154,7 @@ var KimaTransactionWidget = function KimaTransactionWidget(_ref) {
7135
7154
  _ref$fontSize = _ref.fontSize,
7136
7155
  fontSize = _ref$fontSize === void 0 ? exports.FontSizeOptions.medium : _ref$fontSize,
7137
7156
  titleOption = _ref.titleOption,
7157
+ paymentTitleOption = _ref.paymentTitleOption,
7138
7158
  transactionOption = _ref.transactionOption,
7139
7159
  kimaBackendUrl = _ref.kimaBackendUrl,
7140
7160
  kimaNodeProviderQuery = _ref.kimaNodeProviderQuery,
@@ -7182,6 +7202,8 @@ var KimaTransactionWidget = function KimaTransactionWidget(_ref) {
7182
7202
  } else if (mode === exports.ModeOptions.status) {
7183
7203
  dispatch(setTxId(txId || 1));
7184
7204
  dispatch(setSubmitted(true));
7205
+ } else {
7206
+ dispatch(setOriginNetwork('ETH'));
7185
7207
  }
7186
7208
  }, [theme, transactionOption, errorHandler, closeHandler, mode]);
7187
7209
  return submitted ? React__default.createElement(TransactionWidget, {
@@ -7190,7 +7212,8 @@ var KimaTransactionWidget = function KimaTransactionWidget(_ref) {
7190
7212
  }) : React__default.createElement(TransferWidget, {
7191
7213
  theme: theme,
7192
7214
  fontSize: fontSize,
7193
- titleOption: titleOption
7215
+ titleOption: titleOption,
7216
+ paymentTitleOption: paymentTitleOption
7194
7217
  });
7195
7218
  };
7196
7219