@ref-finance/ref-sdk 1.4.7 → 1.4.8

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,11 +1,12 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('near-api-js'), require('lodash-es'), require('bn.js'), require('mathjs'), require('big.js'), require('near-api-js/lib/utils/format'), require('react'), require('@react-icons/all-files/fi/FiChevronDown'), require('@react-icons/all-files/fi/FiChevronLeft'), require('@react-icons/all-files/fi/FiChevronUp'), require('@react-icons/all-files/fa/FaSearch'), require('@react-icons/all-files/ri/RiRefreshLine'), require('@react-icons/all-files/ti/TiArrowSortedUp'), require('@react-icons/all-files/ti/TiArrowSortedDown'), require('@react-icons/all-files/hi/HiOutlineExternalLink'), require('@react-icons/all-files/ai/AiFillPushpin'), require('@react-icons/all-files/ai/AiOutlinePushpin'), require('@react-icons/all-files/ri/RiExchangeFill'), require('@react-icons/all-files/io5/IoWarning'), require('@react-icons/all-files/io5/IoCloseOutline'), require('@react-icons/all-files/ti/TiWarning'), require('@react-icons/all-files/cg/CgArrowsExchangeAltV')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'near-api-js', 'lodash-es', 'bn.js', 'mathjs', 'big.js', 'near-api-js/lib/utils/format', 'react', '@react-icons/all-files/fi/FiChevronDown', '@react-icons/all-files/fi/FiChevronLeft', '@react-icons/all-files/fi/FiChevronUp', '@react-icons/all-files/fa/FaSearch', '@react-icons/all-files/ri/RiRefreshLine', '@react-icons/all-files/ti/TiArrowSortedUp', '@react-icons/all-files/ti/TiArrowSortedDown', '@react-icons/all-files/hi/HiOutlineExternalLink', '@react-icons/all-files/ai/AiFillPushpin', '@react-icons/all-files/ai/AiOutlinePushpin', '@react-icons/all-files/ri/RiExchangeFill', '@react-icons/all-files/io5/IoWarning', '@react-icons/all-files/io5/IoCloseOutline', '@react-icons/all-files/ti/TiWarning', '@react-icons/all-files/cg/CgArrowsExchangeAltV'], factory) :
4
- (global = global || self, factory(global['@ref-finance/ref-sdk'] = {}, global.nearApiJs, global._, global.BN, global.math, global.Big, global.format, global.React, global.FiChevronDown, global.FiChevronLeft, global.FiChevronUp, global.FaSearch, global.RiRefreshLine, global.TiArrowSortedUp, global.TiArrowSortedDown, global.HiOutlineExternalLink, global.AiFillPushpin, global.AiOutlinePushpin, global.RiExchangeFill, global.IoWarning, global.IoCloseOutline, global.TiWarning, global.CgArrowsExchangeAltV));
5
- }(this, (function (exports, nearApiJs, _, BN, math, Big, format, React, FiChevronDown, FiChevronLeft, FiChevronUp, FaSearch, RiRefreshLine, TiArrowSortedUp, TiArrowSortedDown, HiOutlineExternalLink, AiFillPushpin, AiOutlinePushpin, RiExchangeFill, IoWarning, IoCloseOutline, TiWarning, CgArrowsExchangeAltV) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('near-api-js'), require('bn.js'), require('fs'), require('lodash-es'), require('mathjs'), require('big.js'), require('near-api-js/lib/utils/format'), require('react'), require('@react-icons/all-files/fi/FiChevronDown'), require('@react-icons/all-files/fi/FiChevronLeft'), require('@react-icons/all-files/fi/FiChevronUp'), require('@react-icons/all-files/fa/FaSearch'), require('@react-icons/all-files/ri/RiRefreshLine'), require('@react-icons/all-files/ti/TiArrowSortedUp'), require('@react-icons/all-files/ti/TiArrowSortedDown'), require('@react-icons/all-files/hi/HiOutlineExternalLink'), require('@react-icons/all-files/ai/AiFillPushpin'), require('@react-icons/all-files/ai/AiOutlinePushpin'), require('@react-icons/all-files/ri/RiExchangeFill'), require('@react-icons/all-files/io5/IoWarning'), require('@react-icons/all-files/io5/IoCloseOutline'), require('@react-icons/all-files/ti/TiWarning'), require('@react-icons/all-files/cg/CgArrowsExchangeAltV')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'near-api-js', 'bn.js', 'fs', 'lodash-es', 'mathjs', 'big.js', 'near-api-js/lib/utils/format', 'react', '@react-icons/all-files/fi/FiChevronDown', '@react-icons/all-files/fi/FiChevronLeft', '@react-icons/all-files/fi/FiChevronUp', '@react-icons/all-files/fa/FaSearch', '@react-icons/all-files/ri/RiRefreshLine', '@react-icons/all-files/ti/TiArrowSortedUp', '@react-icons/all-files/ti/TiArrowSortedDown', '@react-icons/all-files/hi/HiOutlineExternalLink', '@react-icons/all-files/ai/AiFillPushpin', '@react-icons/all-files/ai/AiOutlinePushpin', '@react-icons/all-files/ri/RiExchangeFill', '@react-icons/all-files/io5/IoWarning', '@react-icons/all-files/io5/IoCloseOutline', '@react-icons/all-files/ti/TiWarning', '@react-icons/all-files/cg/CgArrowsExchangeAltV'], factory) :
4
+ (global = global || self, factory(global['@ref-finance/ref-sdk'] = {}, global.nearApiJs, global.BN, global.fs, global._, global.math, global.Big, global.format, global.React, global.FiChevronDown, global.FiChevronLeft, global.FiChevronUp, global.FaSearch, global.RiRefreshLine, global.TiArrowSortedUp, global.TiArrowSortedDown, global.HiOutlineExternalLink, global.AiFillPushpin, global.AiOutlinePushpin, global.RiExchangeFill, global.IoWarning, global.IoCloseOutline, global.TiWarning, global.CgArrowsExchangeAltV));
5
+ }(this, (function (exports, nearApiJs, BN, fs, _, math, Big, format, React, FiChevronDown, FiChevronLeft, FiChevronUp, FaSearch, RiRefreshLine, TiArrowSortedUp, TiArrowSortedDown, HiOutlineExternalLink, AiFillPushpin, AiOutlinePushpin, RiExchangeFill, IoWarning, IoCloseOutline, TiWarning, CgArrowsExchangeAltV) { 'use strict';
6
6
 
7
- var ___default = 'default' in _ ? _['default'] : _;
8
7
  BN = BN && Object.prototype.hasOwnProperty.call(BN, 'default') ? BN['default'] : BN;
8
+ fs = fs && Object.prototype.hasOwnProperty.call(fs, 'default') ? fs['default'] : fs;
9
+ var ___default = 'default' in _ ? _['default'] : _;
9
10
  Big = Big && Object.prototype.hasOwnProperty.call(Big, 'default') ? Big['default'] : Big;
10
11
  var React__default = 'default' in React ? React['default'] : React;
11
12
 
@@ -549,55 +550,129 @@
549
550
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
550
551
  }
551
552
 
552
- var getKeyStore = function getKeyStore() {
553
- return typeof window === 'undefined' ? new nearApiJs.keyStores.InMemoryKeyStore() : new nearApiJs.keyStores.BrowserLocalStorageKeyStore();
553
+ var tradeFee = function tradeFee(amount, trade_fee) {
554
+ return amount * trade_fee / FEE_DIVISOR;
555
+ };
556
+ var calc_d = function calc_d(amp, c_amounts) {
557
+ var token_num = c_amounts.length;
558
+ var sum_amounts = ___default.sum(c_amounts);
559
+ var d_prev = 0;
560
+ var d = sum_amounts;
561
+ for (var i = 0; i < 256; i++) {
562
+ var d_prod = d;
563
+ for (var _iterator = _createForOfIteratorHelperLoose(c_amounts), _step; !(_step = _iterator()).done;) {
564
+ var c_amount = _step.value;
565
+ d_prod = d_prod * d / (c_amount * token_num);
566
+ }
567
+ d_prev = d;
568
+ var ann = amp * Math.pow(token_num, token_num);
569
+ var numerator = d_prev * (d_prod * token_num + ann * sum_amounts);
570
+ var denominator = d_prev * (ann - 1) + d_prod * (token_num + 1);
571
+ d = numerator / denominator;
572
+ if (Math.abs(d - d_prev) <= 1) break;
573
+ }
574
+ return d;
575
+ };
576
+ var calc_y = function calc_y(amp, x_c_amount, current_c_amounts, index_x, index_y) {
577
+ var token_num = current_c_amounts.length;
578
+ var ann = amp * Math.pow(token_num, token_num);
579
+ var d = calc_d(amp, current_c_amounts);
580
+ var s = x_c_amount;
581
+ var c = d * d / x_c_amount;
582
+ for (var i = 0; i < token_num; i++) {
583
+ if (i !== index_x && i !== index_y) {
584
+ s += current_c_amounts[i];
585
+ c = c * d / current_c_amounts[i];
586
+ }
587
+ }
588
+ c = c * d / (ann * Math.pow(token_num, token_num));
589
+ var b = d / ann + s;
590
+ var y_prev = 0;
591
+ var y = d;
592
+ for (var _i = 0; _i < 256; _i++) {
593
+ y_prev = y;
594
+ var y_numerator = Math.pow(y, 2) + c;
595
+ var y_denominator = 2 * y + b - d;
596
+ y = y_numerator / y_denominator;
597
+ if (Math.abs(y - y_prev) <= 1) break;
598
+ }
599
+ return y;
600
+ };
601
+ var calc_swap = function calc_swap(amp, in_token_idx, in_c_amount, out_token_idx, old_c_amounts, trade_fee) {
602
+ var y = calc_y(amp, in_c_amount + old_c_amounts[in_token_idx], old_c_amounts, in_token_idx, out_token_idx);
603
+ var dy = old_c_amounts[out_token_idx] - y;
604
+ var fee = tradeFee(dy, trade_fee);
605
+ var amount_swapped = dy - fee;
606
+ return [amount_swapped, fee, dy];
607
+ };
608
+ var getSwappedAmount = function getSwappedAmount(tokenInId, tokenOutId, amountIn, stablePool, STABLE_LP_TOKEN_DECIMALS) {
609
+ var amp = stablePool.amp;
610
+ var trade_fee = stablePool.total_fee;
611
+ // depended on pools
612
+ var in_token_idx = stablePool.token_account_ids.findIndex(function (id) {
613
+ return id === tokenInId;
614
+ });
615
+ var out_token_idx = stablePool.token_account_ids.findIndex(function (id) {
616
+ return id === tokenOutId;
617
+ });
618
+ var rates = stablePool != null && stablePool.degens ? stablePool.degens.map(function (r) {
619
+ return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, r);
620
+ }) : stablePool.rates.map(function (r) {
621
+ return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, r);
622
+ });
623
+ var base_old_c_amounts = stablePool.c_amounts.map(function (amount) {
624
+ return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, amount);
625
+ });
626
+ var old_c_amounts = base_old_c_amounts.map(function (amount, i) {
627
+ return toNonDivisibleNumber(STABLE_LP_TOKEN_DECIMALS, scientificNotationToString(new Big(amount || 0).times(new Big(rates[i])).toString()));
628
+ }).map(function (amount) {
629
+ return Number(amount);
630
+ });
631
+ var in_c_amount = Number(toNonDivisibleNumber(STABLE_LP_TOKEN_DECIMALS, scientificNotationToString(new Big(amountIn).times(new Big(rates[in_token_idx])).toString())));
632
+ var _calc_swap = calc_swap(amp, in_token_idx, in_c_amount, out_token_idx, old_c_amounts, trade_fee),
633
+ amount_swapped = _calc_swap[0],
634
+ fee = _calc_swap[1],
635
+ dy = _calc_swap[2];
636
+ return [amount_swapped / Number(rates[out_token_idx]), fee, dy / Number(rates[out_token_idx])];
637
+ };
638
+
639
+ var REF_WIDGET_STAR_TOKEN_LIST_KEY = 'REF_WIDGET_STAR_TOKEN_LIST_VALUE';
640
+ var REF_WIDGET_ALL_TOKENS_LIST_KEY = 'REF_WIDGET_ALL_TOKENS_LIST_VALUE';
641
+ var REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY = 'REF_WIDGET_ALL_LIGHT_TOKENS_LIST_VALUE';
642
+ var REF_WIDGET_SWAP_IN_KEY = 'REF_WIDGET_SWAP_IN_VALUE';
643
+ var REF_WIDGET_SWAP_OUT_KEY = 'REF_WIDGET_SWAP_OUT_VALUE';
644
+ var REF_WIDGET_SWAP_DETAIL_KEY = 'REF_WIDGET_SWAP_DETAIL_VALUE';
645
+ var DEFAULT_START_TOKEN_LIST_TESTNET = ['wrap.testnet', 'usdtt.fakes.testnet', 'usdt.fakes.testnet', 'ref.fakes.testnet', 'usdn.testnet', 'eth.fakes.testnet'];
646
+ var DEFAULT_START_TOKEN_LIST_MAINNET = ['wrap.near', 'usdt.tether-token.near', 'dac17f958d2ee523a2206206994597c13d831ec7.factory.bridge.near', 'token.v2.ref-finance.near', 'usn', 'aurora', 'token.sweat'];
647
+ var defaultTheme = {
648
+ container: '#FFFFFF',
649
+ buttonBg: '#00C6A2',
650
+ primary: '#000000',
651
+ secondary: '#7E8A93',
652
+ borderRadius: '4px',
653
+ fontFamily: 'sans-serif',
654
+ hover: 'rgba(126, 138, 147, 0.2)',
655
+ active: 'rgba(126, 138, 147, 0.2)',
656
+ secondaryBg: '#F7F7F7',
657
+ borderColor: 'rgba(126, 138, 147, 0.2)',
658
+ iconDefault: 'rgba(126, 138, 147, 1)',
659
+ iconHover: 'rgba(62, 62, 62, 1)'
660
+ };
661
+ var defaultDarkModeTheme = {
662
+ container: '#26343E',
663
+ buttonBg: '#00C6A2',
664
+ primary: '#FFFFFF',
665
+ secondary: '#7E8A93',
666
+ borderRadius: '4px',
667
+ fontFamily: 'sans-serif',
668
+ hover: 'rgba(126, 138, 147, 0.2)',
669
+ active: 'rgba(126, 138, 147, 0.2)',
670
+ secondaryBg: 'rgba(0, 0, 0, 0.2)',
671
+ borderColor: 'rgba(126, 138, 147, 0.2)',
672
+ iconDefault: 'rgba(126, 138, 147, 1)',
673
+ iconHover: 'rgba(183, 201, 214, 1)',
674
+ refIcon: 'white'
554
675
  };
555
- var provider = /*#__PURE__*/new nearApiJs.providers.JsonRpcProvider({
556
- url: /*#__PURE__*/getConfig().nodeUrl
557
- });
558
- var sendTransactionsByMemoryKey = /*#__PURE__*/function () {
559
- var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
560
- var signedTransactions, results, i;
561
- return _regeneratorRuntime().wrap(function _callee$(_context) {
562
- while (1) {
563
- switch (_context.prev = _context.next) {
564
- case 0:
565
- signedTransactions = _ref.signedTransactions;
566
- _context.prev = 1;
567
- results = [];
568
- i = 0;
569
- case 4:
570
- if (!(i < signedTransactions.length)) {
571
- _context.next = 13;
572
- break;
573
- }
574
- _context.t0 = results;
575
- _context.next = 8;
576
- return provider.sendTransaction(signedTransactions[i]);
577
- case 8:
578
- _context.t1 = _context.sent;
579
- _context.t0.push.call(_context.t0, _context.t1);
580
- case 10:
581
- i += 1;
582
- _context.next = 4;
583
- break;
584
- case 13:
585
- return _context.abrupt("return", results);
586
- case 16:
587
- _context.prev = 16;
588
- _context.t2 = _context["catch"](1);
589
- throw _context.t2;
590
- case 19:
591
- case "end":
592
- return _context.stop();
593
- }
594
- }
595
- }, _callee, null, [[1, 16]]);
596
- }));
597
- return function sendTransactionsByMemoryKey(_x) {
598
- return _ref2.apply(this, arguments);
599
- };
600
- }();
601
676
 
602
677
  var icons = {
603
678
  '4691937a7508860f876c9c0a2a617e7d9e945d4b.factory.bridge.near': 'https://assets.ref.finance/images/woo-wtrue.png',
@@ -631,822 +706,217 @@
631
706
  'd9c2d319cd7e6177336b0a9c93c21cb48d84fb54.factory.bridge.near': 'https://assets.ref.finance/images/HAPI.png'
632
707
  };
633
708
 
634
- var BANANA_ID = 'berryclub.ek.near';
635
- var CHEDDAR_ID = 'token.cheddar.near';
636
- var CUCUMBER_ID = 'farm.berryclub.ek.near';
637
- var HAPI_ID = 'd9c2d319cd7e6177336b0a9c93c21cb48d84fb54.factory.bridge.near';
638
- var WOO_ID = '4691937a7508860f876c9c0a2a617e7d9e945d4b.factory.bridge.near';
639
- var REPLACE_TOKENS = [BANANA_ID, CHEDDAR_ID, CUCUMBER_ID, HAPI_ID, WOO_ID];
640
- var near = /*#__PURE__*/new nearApiJs.Near( /*#__PURE__*/_extends({
641
- keyStore: /*#__PURE__*/getKeyStore(),
642
- headers: {}
643
- }, /*#__PURE__*/getConfig()));
644
- var init_env = function init_env(env, indexerUrl, nodeUrl) {
645
- near = new nearApiJs.Near(_extends({
646
- keyStore: getKeyStore(),
647
- headers: {}
648
- }, getConfig(env, indexerUrl, nodeUrl)));
649
- return switchEnv();
650
- };
651
- var refFiViewFunction = /*#__PURE__*/function () {
652
- var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
653
- var methodName, args, nearConnection;
709
+ var getTokenPriceList = /*#__PURE__*/function () {
710
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
654
711
  return _regeneratorRuntime().wrap(function _callee$(_context) {
655
712
  while (1) {
656
713
  switch (_context.prev = _context.next) {
657
714
  case 0:
658
- methodName = _ref.methodName, args = _ref.args;
659
- _context.next = 3;
660
- return near.account(exports.REF_FI_CONTRACT_ID);
715
+ _context.next = 2;
716
+ return fetch(exports.config.indexerUrl + '/list-token-price', {
717
+ method: 'GET',
718
+ headers: {
719
+ 'Content-type': 'application/json; charset=UTF-8'
720
+ }
721
+ }).then(function (res) {
722
+ return res.json();
723
+ }).then(function (list) {
724
+ return list;
725
+ });
726
+ case 2:
727
+ return _context.abrupt("return", _context.sent);
661
728
  case 3:
662
- nearConnection = _context.sent;
663
- return _context.abrupt("return", nearConnection.viewFunction(exports.REF_FI_CONTRACT_ID, methodName, args));
664
- case 5:
665
729
  case "end":
666
730
  return _context.stop();
667
731
  }
668
732
  }
669
733
  }, _callee);
670
734
  }));
671
- return function refFiViewFunction(_x) {
672
- return _ref2.apply(this, arguments);
735
+ return function getTokenPriceList() {
736
+ return _ref.apply(this, arguments);
673
737
  };
674
738
  }();
675
- var ftViewFunction = /*#__PURE__*/function () {
676
- var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tokenId, _ref3) {
677
- var methodName, args, nearConnection;
739
+ var getTokens = /*#__PURE__*/function () {
740
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(reload) {
741
+ var storagedTokens;
678
742
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
679
743
  while (1) {
680
744
  switch (_context2.prev = _context2.next) {
681
745
  case 0:
682
- methodName = _ref3.methodName, args = _ref3.args;
683
- _context2.next = 3;
684
- return near.account(exports.REF_FI_CONTRACT_ID);
685
- case 3:
686
- nearConnection = _context2.sent;
687
- return _context2.abrupt("return", nearConnection.viewFunction(tokenId, methodName, args));
746
+ storagedTokens = typeof window !== 'undefined' && !reload ? localStorage.getItem(REF_WIDGET_ALL_TOKENS_LIST_KEY) : null;
747
+ if (!storagedTokens) {
748
+ _context2.next = 5;
749
+ break;
750
+ }
751
+ _context2.t0 = JSON.parse(storagedTokens);
752
+ _context2.next = 8;
753
+ break;
688
754
  case 5:
755
+ _context2.next = 7;
756
+ return fetch(exports.config.indexerUrl + '/list-token', {
757
+ method: 'GET',
758
+ headers: {
759
+ 'Content-type': 'application/json; charset=UTF-8'
760
+ }
761
+ }).then(function (res) {
762
+ return res.json();
763
+ }).then(function (tokens) {
764
+ var newTokens = Object.values(tokens).reduce(function (acc, cur, i) {
765
+ var _extends2;
766
+ var id = Object.keys(tokens)[i];
767
+ return _extends({}, acc, (_extends2 = {}, _extends2[id] = _extends({}, cur, {
768
+ id: id,
769
+ icon: !cur.icon || REPLACE_TOKENS.includes(id) ? icons[id] : cur.icon
770
+ }), _extends2));
771
+ }, {});
772
+ return newTokens;
773
+ }).then(function (res) {
774
+ typeof window !== 'undefined' && !reload && localStorage.setItem(REF_WIDGET_ALL_TOKENS_LIST_KEY, JSON.stringify(res));
775
+ return res;
776
+ });
777
+ case 7:
778
+ _context2.t0 = _context2.sent;
779
+ case 8:
780
+ return _context2.abrupt("return", _context2.t0);
781
+ case 9:
689
782
  case "end":
690
783
  return _context2.stop();
691
784
  }
692
785
  }
693
786
  }, _callee2);
694
787
  }));
695
- return function ftViewFunction(_x2, _x3) {
696
- return _ref4.apply(this, arguments);
788
+ return function getTokens(_x) {
789
+ return _ref2.apply(this, arguments);
697
790
  };
698
791
  }();
699
- var ftGetStorageBalance = function ftGetStorageBalance(tokenId, AccountId) {
700
- if (!AccountId) throw NoAccountIdFound;
701
- return ftViewFunction(tokenId, {
702
- methodName: 'storage_balance_of',
703
- args: {
704
- account_id: AccountId
705
- }
706
- });
707
- };
708
- var ftGetBalance = /*#__PURE__*/function () {
709
- var _ref5 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(tokenId, AccountId) {
792
+ var getTokensTiny = /*#__PURE__*/function () {
793
+ var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(reload) {
794
+ var storagedTokens;
710
795
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
711
796
  while (1) {
712
797
  switch (_context3.prev = _context3.next) {
713
798
  case 0:
714
- if (AccountId) {
715
- _context3.next = 2;
716
- break;
717
- }
718
- return _context3.abrupt("return", '0');
719
- case 2:
720
- if (!(tokenId === 'NEAR')) {
721
- _context3.next = 4;
799
+ storagedTokens = typeof window !== 'undefined' && !reload ? localStorage.getItem(REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY) : null;
800
+ if (!storagedTokens) {
801
+ _context3.next = 5;
722
802
  break;
723
803
  }
724
- return _context3.abrupt("return", getAccountNearBalance(AccountId)["catch"](function () {
725
- return '0';
726
- }));
727
- case 4:
728
- return _context3.abrupt("return", ftViewFunction(tokenId, {
729
- methodName: 'ft_balance_of',
730
- args: {
731
- account_id: AccountId
804
+ _context3.t0 = JSON.parse(storagedTokens);
805
+ _context3.next = 8;
806
+ break;
807
+ case 5:
808
+ _context3.next = 7;
809
+ return fetch(exports.config.indexerUrl + '/list-token-v2', {
810
+ method: 'GET',
811
+ headers: {
812
+ 'Content-type': 'application/json; charset=UTF-8'
732
813
  }
733
814
  }).then(function (res) {
815
+ return res.json();
816
+ }).then(function (tokens) {
817
+ var newTokens = Object.values(tokens).reduce(function (acc, cur, i) {
818
+ var _extends3;
819
+ var id = Object.keys(tokens)[i];
820
+ return _extends({}, acc, (_extends3 = {}, _extends3[id] = _extends({}, cur, {
821
+ id: id
822
+ }), _extends3));
823
+ }, {});
824
+ return newTokens;
825
+ }).then(function (res) {
826
+ typeof window !== 'undefined' && !reload && localStorage.setItem(REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY, JSON.stringify(res));
734
827
  return res;
735
- })["catch"](function () {
736
- return '0';
737
- }));
738
- case 5:
828
+ });
829
+ case 7:
830
+ _context3.t0 = _context3.sent;
831
+ case 8:
832
+ return _context3.abrupt("return", _context3.t0);
833
+ case 9:
739
834
  case "end":
740
835
  return _context3.stop();
741
836
  }
742
837
  }
743
838
  }, _callee3);
744
839
  }));
745
- return function ftGetBalance(_x4, _x5) {
746
- return _ref5.apply(this, arguments);
840
+ return function getTokensTiny(_x2) {
841
+ return _ref3.apply(this, arguments);
747
842
  };
748
843
  }();
749
- var getTotalPools = /*#__PURE__*/function () {
750
- var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
844
+ var getWhiteListTokensIndexer = /*#__PURE__*/function () {
845
+ var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(whiteListIds) {
751
846
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
752
847
  while (1) {
753
848
  switch (_context4.prev = _context4.next) {
754
849
  case 0:
755
- return _context4.abrupt("return", refFiViewFunction({
756
- methodName: 'get_number_of_pools'
757
- }));
758
- case 1:
759
- case "end":
760
- return _context4.stop();
761
- }
762
- }
763
- }, _callee4);
764
- }));
765
- return function getTotalPools() {
766
- return _ref6.apply(this, arguments);
767
- };
768
- }();
769
- var ftGetTokenMetadata = /*#__PURE__*/function () {
770
- var _ref7 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(id, tag) {
771
- var metadata;
772
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
773
- while (1) {
774
- switch (_context5.prev = _context5.next) {
775
- case 0:
776
- if (!(id === exports.REF_TOKEN_ID)) {
777
- _context5.next = 2;
778
- break;
779
- }
780
- return _context5.abrupt("return", exports.REF_META_DATA);
781
- case 2:
782
- _context5.next = 4;
783
- return ftViewFunction(id, {
784
- methodName: 'ft_metadata'
785
- })["catch"](function () {
786
- throw TokenNotExistError(id);
787
- });
788
- case 4:
789
- metadata = _context5.sent;
790
- if (!(!metadata.icon || id === BANANA_ID || id === CHEDDAR_ID || id === CUCUMBER_ID || id === HAPI_ID || id === WOO_ID || id === exports.WRAP_NEAR_CONTRACT_ID)) {
791
- _context5.next = 7;
792
- break;
793
- }
794
- return _context5.abrupt("return", _extends({}, metadata, {
795
- icon: icons[id],
796
- id: id
797
- }));
798
- case 7:
799
- return _context5.abrupt("return", _extends({}, metadata, {
800
- id: id
801
- }));
802
- case 8:
803
- case "end":
804
- return _context5.stop();
805
- }
806
- }
807
- }, _callee5);
808
- }));
809
- return function ftGetTokenMetadata(_x6, _x7) {
810
- return _ref7.apply(this, arguments);
811
- };
812
- }();
813
- var ftGetTokensMetadata = /*#__PURE__*/function () {
814
- var _ref8 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(tokenIds, allTokens) {
815
- var ids, tokensMetadata;
816
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
817
- while (1) {
818
- switch (_context6.prev = _context6.next) {
819
- case 0:
820
- _context6.t0 = tokenIds;
821
- if (_context6.t0) {
822
- _context6.next = 5;
823
- break;
824
- }
825
- _context6.next = 4;
826
- return getGlobalWhitelist();
827
- case 4:
828
- _context6.t0 = _context6.sent;
829
- case 5:
830
- ids = _context6.t0;
831
- _context6.next = 8;
832
- return Promise.all(ids.map(function (id) {
833
- return (allTokens == null ? void 0 : allTokens[id]) || ftGetTokenMetadata(id)["catch"](function () {
834
- return null;
835
- });
836
- }));
837
- case 8:
838
- tokensMetadata = _context6.sent;
839
- return _context6.abrupt("return", tokensMetadata.reduce(function (pre, cur, i) {
840
- var _extends2;
841
- return _extends({}, pre, (_extends2 = {}, _extends2[ids[i]] = cur, _extends2));
842
- }, {}));
843
- case 10:
844
- case "end":
845
- return _context6.stop();
846
- }
847
- }
848
- }, _callee6);
849
- }));
850
- return function ftGetTokensMetadata(_x8, _x9) {
851
- return _ref8.apply(this, arguments);
852
- };
853
- }();
854
- var getGlobalWhitelist = /*#__PURE__*/function () {
855
- var _ref9 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
856
- var globalWhitelist;
857
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
858
- while (1) {
859
- switch (_context7.prev = _context7.next) {
860
- case 0:
861
- _context7.next = 2;
862
- return refFiViewFunction({
863
- methodName: 'get_whitelisted_tokens'
850
+ _context4.next = 2;
851
+ return fetch(exports.config.indexerUrl + '/list-token', {
852
+ method: 'GET',
853
+ headers: {
854
+ 'Content-type': 'application/json; charset=UTF-8'
855
+ }
856
+ }).then(function (res) {
857
+ return res.json();
858
+ }).then(function (res) {
859
+ return whiteListIds.reduce(function (acc, cur, i) {
860
+ var _extends4;
861
+ if (!res[cur] || !Object.values(res[cur]) || Object.values(res[cur]).length === 0) return acc;
862
+ return _extends({}, acc, (_extends4 = {}, _extends4[cur] = _extends({}, res[cur], {
863
+ id: cur
864
+ }), _extends4));
865
+ }, {});
866
+ }).then(function (res) {
867
+ return Object.values(res);
864
868
  });
865
869
  case 2:
866
- globalWhitelist = _context7.sent;
867
- return _context7.abrupt("return", Array.from(new Set(globalWhitelist)));
868
- case 4:
869
- case "end":
870
- return _context7.stop();
871
- }
872
- }
873
- }, _callee7);
874
- }));
875
- return function getGlobalWhitelist() {
876
- return _ref9.apply(this, arguments);
877
- };
878
- }();
879
- var getUserRegisteredTokens = /*#__PURE__*/function () {
880
- var _ref10 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(AccountId) {
881
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
882
- while (1) {
883
- switch (_context8.prev = _context8.next) {
884
- case 0:
885
- if (AccountId) {
886
- _context8.next = 2;
887
- break;
888
- }
889
- return _context8.abrupt("return", []);
890
- case 2:
891
- return _context8.abrupt("return", refFiViewFunction({
892
- methodName: 'get_user_whitelisted_tokens',
893
- args: {
894
- account_id: AccountId
895
- }
896
- }));
870
+ return _context4.abrupt("return", _context4.sent);
897
871
  case 3:
898
872
  case "end":
899
- return _context8.stop();
873
+ return _context4.stop();
900
874
  }
901
875
  }
902
- }, _callee8);
876
+ }, _callee4);
903
877
  }));
904
- return function getUserRegisteredTokens(_x10) {
905
- return _ref10.apply(this, arguments);
906
- };
907
- }();
908
- var getAccountNearBalance = /*#__PURE__*/function () {
909
- var _ref11 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(accountId) {
910
- var provider;
911
- return _regeneratorRuntime().wrap(function _callee9$(_context9) {
912
- while (1) {
913
- switch (_context9.prev = _context9.next) {
914
- case 0:
915
- provider = new nearApiJs.providers.JsonRpcProvider({
916
- url: getConfig().nodeUrl
917
- });
918
- return _context9.abrupt("return", provider.query({
919
- request_type: 'view_account',
920
- finality: 'final',
921
- account_id: accountId
922
- }).then(function (data) {
923
- return data.amount;
924
- }));
925
- case 2:
926
- case "end":
927
- return _context9.stop();
928
- }
929
- }
930
- }, _callee9);
931
- }));
932
- return function getAccountNearBalance(_x11) {
933
- return _ref11.apply(this, arguments);
934
- };
935
- }();
936
- var nearDepositTransaction = function nearDepositTransaction(amount) {
937
- var transaction = {
938
- receiverId: exports.WRAP_NEAR_CONTRACT_ID,
939
- functionCalls: [{
940
- methodName: 'near_deposit',
941
- args: {},
942
- gas: '50000000000000',
943
- amount: amount
944
- }]
945
- };
946
- return transaction;
947
- };
948
- var nearWithdrawTransaction = function nearWithdrawTransaction(amount) {
949
- var transaction = {
950
- receiverId: exports.WRAP_NEAR_CONTRACT_ID,
951
- functionCalls: [{
952
- methodName: 'near_withdraw',
953
- args: {
954
- amount: nearApiJs.utils.format.parseNearAmount(amount)
955
- },
956
- amount: ONE_YOCTO_NEAR
957
- }]
958
- };
959
- return transaction;
960
- };
961
- var refDCLSwapViewFunction = /*#__PURE__*/function () {
962
- var _ref13 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(_ref12) {
963
- var methodName, args, nearConnection;
964
- return _regeneratorRuntime().wrap(function _callee10$(_context10) {
965
- while (1) {
966
- switch (_context10.prev = _context10.next) {
967
- case 0:
968
- methodName = _ref12.methodName, args = _ref12.args;
969
- _context10.next = 3;
970
- return near.account(exports.REF_FI_CONTRACT_ID);
971
- case 3:
972
- nearConnection = _context10.sent;
973
- if (exports.config.REF_DCL_SWAP_CONTRACT_ID) {
974
- _context10.next = 6;
975
- break;
976
- }
977
- throw DCLInValid;
978
- case 6:
979
- return _context10.abrupt("return", nearConnection.viewFunction(exports.config.REF_DCL_SWAP_CONTRACT_ID, methodName, args));
980
- case 7:
981
- case "end":
982
- return _context10.stop();
983
- }
984
- }
985
- }, _callee10);
986
- }));
987
- return function refDCLSwapViewFunction(_x12) {
988
- return _ref13.apply(this, arguments);
989
- };
990
- }();
991
- var DCLSwapGetStorageBalance = function DCLSwapGetStorageBalance(tokenId, AccountId) {
992
- return refDCLSwapViewFunction({
993
- methodName: 'storage_balance_of',
994
- args: {
995
- account_id: AccountId
996
- }
997
- });
998
- };
999
- var getMinStorageBalance = /*#__PURE__*/function () {
1000
- var _ref14 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(nep141Address) {
1001
- var provider, result, balance;
1002
- return _regeneratorRuntime().wrap(function _callee11$(_context11) {
1003
- while (1) {
1004
- switch (_context11.prev = _context11.next) {
1005
- case 0:
1006
- _context11.prev = 0;
1007
- provider = new nearApiJs.providers.JsonRpcProvider({
1008
- url: getConfig().nodeUrl
1009
- });
1010
- _context11.next = 4;
1011
- return provider.query({
1012
- request_type: 'call_function',
1013
- account_id: nep141Address,
1014
- method_name: 'storage_balance_bounds',
1015
- args_base64: '',
1016
- finality: 'optimistic'
1017
- });
1018
- case 4:
1019
- result = _context11.sent;
1020
- balance = JSON.parse(Buffer.from(result.result).toString());
1021
- if (!(!balance || !balance.min)) {
1022
- _context11.next = 8;
1023
- break;
1024
- }
1025
- return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
1026
- case 8:
1027
- return _context11.abrupt("return", balance.min);
1028
- case 11:
1029
- _context11.prev = 11;
1030
- _context11.t0 = _context11["catch"](0);
1031
- console.error(_context11.t0, nep141Address);
1032
- return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
1033
- case 15:
1034
- case "end":
1035
- return _context11.stop();
1036
- }
1037
- }
1038
- }, _callee11, null, [[0, 11]]);
1039
- }));
1040
- return function getMinStorageBalance(_x13) {
1041
- return _ref14.apply(this, arguments);
878
+ return function getWhiteListTokensIndexer(_x3) {
879
+ return _ref4.apply(this, arguments);
1042
880
  };
1043
881
  }();
1044
882
 
1045
- var DCL_POOL_FEE_LIST = [100, 400, 2000, 10000];
1046
- var getDCLPoolId = function getDCLPoolId(tokenA, tokenB, fee) {
1047
- if (DCL_POOL_FEE_LIST.indexOf(fee) === -1) throw NoFeeToPool(fee);
1048
- var tokenSeq = [tokenA, tokenB].sort().join('|');
1049
- return tokenSeq + "|" + fee;
1050
- };
1051
- var listDCLPools = function listDCLPools() {
1052
- return refDCLSwapViewFunction({
1053
- methodName: 'list_pools'
883
+ //@ts-nocheck
884
+ Big.RM = 0;
885
+ Big.DP = 40;
886
+ Big.NE = -40;
887
+ Big.PE = 40;
888
+ function checkIntegerSumOfAllocations(allocations, totalInput) {
889
+ var totalInput = new Big(totalInput);
890
+ var allocations = allocations.map(function (item) {
891
+ return new Big(item).round();
1054
892
  });
1055
- };
1056
- var getDCLPool = /*#__PURE__*/function () {
1057
- var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(pool_id) {
1058
- var _pool_id$split, token_x, token_y, fee, token_seq, new_pool_id;
1059
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1060
- while (1) {
1061
- switch (_context.prev = _context.next) {
1062
- case 0:
1063
- _pool_id$split = pool_id.split('|'), token_x = _pool_id$split[0], token_y = _pool_id$split[1], fee = _pool_id$split[2];
1064
- token_seq = [token_x, token_y].sort().join('|');
1065
- new_pool_id = token_seq + "|" + fee;
1066
- return _context.abrupt("return", refDCLSwapViewFunction({
1067
- methodName: 'get_pool',
1068
- args: {
1069
- pool_id: new_pool_id
1070
- }
1071
- }));
1072
- case 4:
1073
- case "end":
1074
- return _context.stop();
1075
- }
1076
- }
1077
- }, _callee);
1078
- }));
1079
- return function getDCLPool(_x) {
1080
- return _ref.apply(this, arguments);
1081
- };
1082
- }();
1083
-
1084
- var formatError = function formatError(msg) {
1085
- return new Error(msg);
1086
- };
1087
- var unNamedError = /*#__PURE__*/formatError('Something wrong happened');
1088
- var SameInputTokenError = /*#__PURE__*/formatError('Input token should be different with output token');
1089
- var ZeroInputError = /*#__PURE__*/formatError('Input amount should be greater than 0');
1090
- var NoPoolError = /*#__PURE__*/formatError('No pool found for the input tokens');
1091
- var NotLoginError = /*#__PURE__*/formatError('Please login in first');
1092
- var SwapRouteError = /*#__PURE__*/formatError("Something wrong happened, we don't get correct routes corrreponding to current input");
1093
- var TokenNotExistError = function TokenNotExistError(id) {
1094
- return formatError(id + " doesn't exist in " + getConfig().networkId);
1095
- };
1096
- var NoPuiblicKeyError = /*#__PURE__*/formatError('No public key found');
1097
- var NoLocalSignerError = /*#__PURE__*/formatError('No local signer found');
1098
- var InValidAccessKeyError = /*#__PURE__*/formatError('Invalid access key');
1099
- var AccountIdMisMatch = /*#__PURE__*/formatError("Your input account id doesn't match the account id in the credential");
1100
- var NoCredential = /*#__PURE__*/formatError('No Credential to such path');
1101
- var NoAccountIdFound = /*#__PURE__*/formatError('No account id found');
1102
- var NoFeeToPool = function NoFeeToPool(fee) {
1103
- return formatError("InValid fee " + fee + " to DCL pool, the valid fee should be one of " + DCL_POOL_FEE_LIST);
1104
- };
1105
- var DCLInValid = /*#__PURE__*/formatError("DCL contract currently in Valid on " + exports.config.networkId);
1106
- var NoPoolOnThisPair = function NoPoolOnThisPair(tokenA, tokenB) {
1107
- return formatError("No pools on pair " + tokenA + " <> " + tokenB);
1108
- };
1109
- var SlippageError = /*#__PURE__*/formatError('slippage tolerance should be in range (0, 100)');
1110
- var NoOrderFound = function NoOrderFound(order_id) {
1111
- return formatError("No order " + (order_id || '') + " found");
1112
- };
1113
- var OrderNoRemainedAmount = /*#__PURE__*/formatError('No remained amount on this order');
1114
-
1115
- var tradeFee = function tradeFee(amount, trade_fee) {
1116
- return amount * trade_fee / FEE_DIVISOR;
1117
- };
1118
- var calc_d = function calc_d(amp, c_amounts) {
1119
- var token_num = c_amounts.length;
1120
- var sum_amounts = ___default.sum(c_amounts);
1121
- var d_prev = 0;
1122
- var d = sum_amounts;
1123
- for (var i = 0; i < 256; i++) {
1124
- var d_prod = d;
1125
- for (var _iterator = _createForOfIteratorHelperLoose(c_amounts), _step; !(_step = _iterator()).done;) {
1126
- var c_amount = _step.value;
1127
- d_prod = d_prod * d / (c_amount * token_num);
893
+ var alloSum = allocations.map(function (item) {
894
+ return new Big(item);
895
+ }).reduce(function (a, b) {
896
+ return a.plus(b);
897
+ }, new Big(0));
898
+ var offset = totalInput.minus(alloSum);
899
+ //get largest allocation.
900
+ var currMax = new Big(0);
901
+ var currMaxInd = 0;
902
+ for (var i = 0; i < allocations.length; i++) {
903
+ if (allocations[i].gt(currMax)) {
904
+ currMaxInd = i;
905
+ currMax = allocations[i];
1128
906
  }
1129
- d_prev = d;
1130
- var ann = amp * Math.pow(token_num, token_num);
1131
- var numerator = d_prev * (d_prod * token_num + ann * sum_amounts);
1132
- var denominator = d_prev * (ann - 1) + d_prod * (token_num + 1);
1133
- d = numerator / denominator;
1134
- if (Math.abs(d - d_prev) <= 1) break;
1135
907
  }
1136
- return d;
1137
- };
1138
- var calc_y = function calc_y(amp, x_c_amount, current_c_amounts, index_x, index_y) {
1139
- var token_num = current_c_amounts.length;
1140
- var ann = amp * Math.pow(token_num, token_num);
1141
- var d = calc_d(amp, current_c_amounts);
1142
- var s = x_c_amount;
1143
- var c = d * d / x_c_amount;
1144
- for (var i = 0; i < token_num; i++) {
1145
- if (i !== index_x && i !== index_y) {
1146
- s += current_c_amounts[i];
1147
- c = c * d / current_c_amounts[i];
908
+ var newAllocations = [];
909
+ for (var j = 0; j < allocations.length; j++) {
910
+ if (j === currMaxInd) {
911
+ newAllocations.push(allocations[j].plus(offset).toString());
912
+ } else {
913
+ newAllocations.push(allocations[j].toString());
1148
914
  }
1149
915
  }
1150
- c = c * d / (ann * Math.pow(token_num, token_num));
1151
- var b = d / ann + s;
1152
- var y_prev = 0;
1153
- var y = d;
1154
- for (var _i = 0; _i < 256; _i++) {
1155
- y_prev = y;
1156
- var y_numerator = Math.pow(y, 2) + c;
1157
- var y_denominator = 2 * y + b - d;
1158
- y = y_numerator / y_denominator;
1159
- if (Math.abs(y - y_prev) <= 1) break;
1160
- }
1161
- return y;
1162
- };
1163
- var calc_swap = function calc_swap(amp, in_token_idx, in_c_amount, out_token_idx, old_c_amounts, trade_fee) {
1164
- var y = calc_y(amp, in_c_amount + old_c_amounts[in_token_idx], old_c_amounts, in_token_idx, out_token_idx);
1165
- var dy = old_c_amounts[out_token_idx] - y;
1166
- var fee = tradeFee(dy, trade_fee);
1167
- var amount_swapped = dy - fee;
1168
- return [amount_swapped, fee, dy];
1169
- };
1170
- var getSwappedAmount = function getSwappedAmount(tokenInId, tokenOutId, amountIn, stablePool, STABLE_LP_TOKEN_DECIMALS) {
1171
- var amp = stablePool.amp;
1172
- var trade_fee = stablePool.total_fee;
1173
- // depended on pools
1174
- var in_token_idx = stablePool.token_account_ids.findIndex(function (id) {
1175
- return id === tokenInId;
1176
- });
1177
- var out_token_idx = stablePool.token_account_ids.findIndex(function (id) {
1178
- return id === tokenOutId;
1179
- });
1180
- var rates = stablePool != null && stablePool.degens ? stablePool.degens.map(function (r) {
1181
- return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, r);
1182
- }) : stablePool.rates.map(function (r) {
1183
- return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, r);
1184
- });
1185
- var base_old_c_amounts = stablePool.c_amounts.map(function (amount) {
1186
- return toReadableNumber(STABLE_LP_TOKEN_DECIMALS, amount);
1187
- });
1188
- var old_c_amounts = base_old_c_amounts.map(function (amount, i) {
1189
- return toNonDivisibleNumber(STABLE_LP_TOKEN_DECIMALS, scientificNotationToString(new Big(amount || 0).times(new Big(rates[i])).toString()));
1190
- }).map(function (amount) {
1191
- return Number(amount);
1192
- });
1193
- var in_c_amount = Number(toNonDivisibleNumber(STABLE_LP_TOKEN_DECIMALS, scientificNotationToString(new Big(amountIn).times(new Big(rates[in_token_idx])).toString())));
1194
- var _calc_swap = calc_swap(amp, in_token_idx, in_c_amount, out_token_idx, old_c_amounts, trade_fee),
1195
- amount_swapped = _calc_swap[0],
1196
- fee = _calc_swap[1],
1197
- dy = _calc_swap[2];
1198
- return [amount_swapped / Number(rates[out_token_idx]), fee, dy / Number(rates[out_token_idx])];
1199
- };
1200
-
1201
- var REF_WIDGET_STAR_TOKEN_LIST_KEY = 'REF_WIDGET_STAR_TOKEN_LIST_VALUE';
1202
- var REF_WIDGET_ALL_TOKENS_LIST_KEY = 'REF_WIDGET_ALL_TOKENS_LIST_VALUE';
1203
- var REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY = 'REF_WIDGET_ALL_LIGHT_TOKENS_LIST_VALUE';
1204
- var REF_WIDGET_SWAP_IN_KEY = 'REF_WIDGET_SWAP_IN_VALUE';
1205
- var REF_WIDGET_SWAP_OUT_KEY = 'REF_WIDGET_SWAP_OUT_VALUE';
1206
- var REF_WIDGET_SWAP_DETAIL_KEY = 'REF_WIDGET_SWAP_DETAIL_VALUE';
1207
- var DEFAULT_START_TOKEN_LIST_TESTNET = ['wrap.testnet', 'usdtt.fakes.testnet', 'usdt.fakes.testnet', 'ref.fakes.testnet', 'usdn.testnet', 'eth.fakes.testnet'];
1208
- var DEFAULT_START_TOKEN_LIST_MAINNET = ['wrap.near', 'usdt.tether-token.near', 'dac17f958d2ee523a2206206994597c13d831ec7.factory.bridge.near', 'token.v2.ref-finance.near', 'usn', 'aurora', 'token.sweat'];
1209
- var defaultTheme = {
1210
- container: '#FFFFFF',
1211
- buttonBg: '#00C6A2',
1212
- primary: '#000000',
1213
- secondary: '#7E8A93',
1214
- borderRadius: '4px',
1215
- fontFamily: 'sans-serif',
1216
- hover: 'rgba(126, 138, 147, 0.2)',
1217
- active: 'rgba(126, 138, 147, 0.2)',
1218
- secondaryBg: '#F7F7F7',
1219
- borderColor: 'rgba(126, 138, 147, 0.2)',
1220
- iconDefault: 'rgba(126, 138, 147, 1)',
1221
- iconHover: 'rgba(62, 62, 62, 1)'
1222
- };
1223
- var defaultDarkModeTheme = {
1224
- container: '#26343E',
1225
- buttonBg: '#00C6A2',
1226
- primary: '#FFFFFF',
1227
- secondary: '#7E8A93',
1228
- borderRadius: '4px',
1229
- fontFamily: 'sans-serif',
1230
- hover: 'rgba(126, 138, 147, 0.2)',
1231
- active: 'rgba(126, 138, 147, 0.2)',
1232
- secondaryBg: 'rgba(0, 0, 0, 0.2)',
1233
- borderColor: 'rgba(126, 138, 147, 0.2)',
1234
- iconDefault: 'rgba(126, 138, 147, 1)',
1235
- iconHover: 'rgba(183, 201, 214, 1)',
1236
- refIcon: 'white'
1237
- };
1238
-
1239
- var getTokenPriceList = /*#__PURE__*/function () {
1240
- var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1241
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1242
- while (1) {
1243
- switch (_context.prev = _context.next) {
1244
- case 0:
1245
- _context.next = 2;
1246
- return fetch(exports.config.indexerUrl + '/list-token-price', {
1247
- method: 'GET',
1248
- headers: {
1249
- 'Content-type': 'application/json; charset=UTF-8'
1250
- }
1251
- }).then(function (res) {
1252
- return res.json();
1253
- }).then(function (list) {
1254
- return list;
1255
- });
1256
- case 2:
1257
- return _context.abrupt("return", _context.sent);
1258
- case 3:
1259
- case "end":
1260
- return _context.stop();
1261
- }
1262
- }
1263
- }, _callee);
1264
- }));
1265
- return function getTokenPriceList() {
1266
- return _ref.apply(this, arguments);
1267
- };
1268
- }();
1269
- var getTokens = /*#__PURE__*/function () {
1270
- var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(reload) {
1271
- var storagedTokens;
1272
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1273
- while (1) {
1274
- switch (_context2.prev = _context2.next) {
1275
- case 0:
1276
- storagedTokens = typeof window !== 'undefined' && !reload ? localStorage.getItem(REF_WIDGET_ALL_TOKENS_LIST_KEY) : null;
1277
- if (!storagedTokens) {
1278
- _context2.next = 5;
1279
- break;
1280
- }
1281
- _context2.t0 = JSON.parse(storagedTokens);
1282
- _context2.next = 8;
1283
- break;
1284
- case 5:
1285
- _context2.next = 7;
1286
- return fetch(exports.config.indexerUrl + '/list-token', {
1287
- method: 'GET',
1288
- headers: {
1289
- 'Content-type': 'application/json; charset=UTF-8'
1290
- }
1291
- }).then(function (res) {
1292
- return res.json();
1293
- }).then(function (tokens) {
1294
- var newTokens = Object.values(tokens).reduce(function (acc, cur, i) {
1295
- var _extends2;
1296
- var id = Object.keys(tokens)[i];
1297
- return _extends({}, acc, (_extends2 = {}, _extends2[id] = _extends({}, cur, {
1298
- id: id,
1299
- icon: !cur.icon || REPLACE_TOKENS.includes(id) ? icons[id] : cur.icon
1300
- }), _extends2));
1301
- }, {});
1302
- return newTokens;
1303
- }).then(function (res) {
1304
- typeof window !== 'undefined' && !reload && localStorage.setItem(REF_WIDGET_ALL_TOKENS_LIST_KEY, JSON.stringify(res));
1305
- return res;
1306
- });
1307
- case 7:
1308
- _context2.t0 = _context2.sent;
1309
- case 8:
1310
- return _context2.abrupt("return", _context2.t0);
1311
- case 9:
1312
- case "end":
1313
- return _context2.stop();
1314
- }
1315
- }
1316
- }, _callee2);
1317
- }));
1318
- return function getTokens(_x) {
1319
- return _ref2.apply(this, arguments);
1320
- };
1321
- }();
1322
- var getTokensTiny = /*#__PURE__*/function () {
1323
- var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(reload) {
1324
- var storagedTokens;
1325
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1326
- while (1) {
1327
- switch (_context3.prev = _context3.next) {
1328
- case 0:
1329
- storagedTokens = typeof window !== 'undefined' && !reload ? localStorage.getItem(REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY) : null;
1330
- if (!storagedTokens) {
1331
- _context3.next = 5;
1332
- break;
1333
- }
1334
- _context3.t0 = JSON.parse(storagedTokens);
1335
- _context3.next = 8;
1336
- break;
1337
- case 5:
1338
- _context3.next = 7;
1339
- return fetch(exports.config.indexerUrl + '/list-token-v2', {
1340
- method: 'GET',
1341
- headers: {
1342
- 'Content-type': 'application/json; charset=UTF-8'
1343
- }
1344
- }).then(function (res) {
1345
- return res.json();
1346
- }).then(function (tokens) {
1347
- var newTokens = Object.values(tokens).reduce(function (acc, cur, i) {
1348
- var _extends3;
1349
- var id = Object.keys(tokens)[i];
1350
- return _extends({}, acc, (_extends3 = {}, _extends3[id] = _extends({}, cur, {
1351
- id: id
1352
- }), _extends3));
1353
- }, {});
1354
- return newTokens;
1355
- }).then(function (res) {
1356
- typeof window !== 'undefined' && !reload && localStorage.setItem(REF_WIDGET_ALL_LIGHT_TOKENS_LIST_KEY, JSON.stringify(res));
1357
- return res;
1358
- });
1359
- case 7:
1360
- _context3.t0 = _context3.sent;
1361
- case 8:
1362
- return _context3.abrupt("return", _context3.t0);
1363
- case 9:
1364
- case "end":
1365
- return _context3.stop();
1366
- }
1367
- }
1368
- }, _callee3);
1369
- }));
1370
- return function getTokensTiny(_x2) {
1371
- return _ref3.apply(this, arguments);
1372
- };
1373
- }();
1374
- var getWhiteListTokensIndexer = /*#__PURE__*/function () {
1375
- var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(whiteListIds) {
1376
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1377
- while (1) {
1378
- switch (_context4.prev = _context4.next) {
1379
- case 0:
1380
- _context4.next = 2;
1381
- return fetch(exports.config.indexerUrl + '/list-token', {
1382
- method: 'GET',
1383
- headers: {
1384
- 'Content-type': 'application/json; charset=UTF-8'
1385
- }
1386
- }).then(function (res) {
1387
- return res.json();
1388
- }).then(function (res) {
1389
- return whiteListIds.reduce(function (acc, cur, i) {
1390
- var _extends4;
1391
- if (!res[cur] || !Object.values(res[cur]) || Object.values(res[cur]).length === 0) return acc;
1392
- return _extends({}, acc, (_extends4 = {}, _extends4[cur] = _extends({}, res[cur], {
1393
- id: cur
1394
- }), _extends4));
1395
- }, {});
1396
- }).then(function (res) {
1397
- return Object.values(res);
1398
- });
1399
- case 2:
1400
- return _context4.abrupt("return", _context4.sent);
1401
- case 3:
1402
- case "end":
1403
- return _context4.stop();
1404
- }
1405
- }
1406
- }, _callee4);
1407
- }));
1408
- return function getWhiteListTokensIndexer(_x3) {
1409
- return _ref4.apply(this, arguments);
1410
- };
1411
- }();
916
+ return newAllocations;
917
+ }
1412
918
 
1413
- //@ts-nocheck
1414
- Big.RM = 0;
1415
- Big.DP = 40;
1416
- Big.NE = -40;
1417
- Big.PE = 40;
1418
- function checkIntegerSumOfAllocations(allocations, totalInput) {
1419
- var totalInput = new Big(totalInput);
1420
- var allocations = allocations.map(function (item) {
1421
- return new Big(item).round();
1422
- });
1423
- var alloSum = allocations.map(function (item) {
1424
- return new Big(item);
1425
- }).reduce(function (a, b) {
1426
- return a.plus(b);
1427
- }, new Big(0));
1428
- var offset = totalInput.minus(alloSum);
1429
- //get largest allocation.
1430
- var currMax = new Big(0);
1431
- var currMaxInd = 0;
1432
- for (var i = 0; i < allocations.length; i++) {
1433
- if (allocations[i].gt(currMax)) {
1434
- currMaxInd = i;
1435
- currMax = allocations[i];
1436
- }
1437
- }
1438
- var newAllocations = [];
1439
- for (var j = 0; j < allocations.length; j++) {
1440
- if (j === currMaxInd) {
1441
- newAllocations.push(allocations[j].plus(offset).toString());
1442
- } else {
1443
- newAllocations.push(allocations[j].toString());
1444
- }
1445
- }
1446
- return newAllocations;
1447
- }
1448
-
1449
- var _marked5 = /*#__PURE__*/_regeneratorRuntime().mark(yenFromPy);
919
+ var _marked5 = /*#__PURE__*/_regeneratorRuntime().mark(yenFromPy);
1450
920
  Big.RM = 0;
1451
921
  Big.DP = 40;
1452
922
  Big.NE = -40;
@@ -4114,123 +3584,807 @@
4114
3584
  return '0';
4115
3585
  }
4116
3586
  };
4117
- var subtraction = function subtraction(initialValue, toBeSubtract) {
4118
- return math.format(math.evaluate(initialValue + " - " + toBeSubtract), {
4119
- notation: 'fixed'
3587
+ var subtraction = function subtraction(initialValue, toBeSubtract) {
3588
+ return math.format(math.evaluate(initialValue + " - " + toBeSubtract), {
3589
+ notation: 'fixed'
3590
+ });
3591
+ };
3592
+ function getPoolAllocationPercents(pools) {
3593
+ if (pools.length === 1) return ['100'];
3594
+ if (pools) {
3595
+ var partialAmounts = pools.map(function (pool) {
3596
+ return math.bignumber(pool.partialAmountIn);
3597
+ });
3598
+ var ps = new Array(partialAmounts.length).fill('0');
3599
+ var sum = partialAmounts.length === 1 ? partialAmounts[0] : math.sum.apply(math, partialAmounts);
3600
+ var sortedAmount = _.sortBy(partialAmounts, function (p) {
3601
+ return Number(p);
3602
+ });
3603
+ var minIndexes = [];
3604
+ for (var k = 0; k < sortedAmount.length - 1; k++) {
3605
+ var minIndex = -1;
3606
+ for (var j = 0; j < partialAmounts.length; j++) {
3607
+ if (partialAmounts[j].eq(sortedAmount[k]) && !minIndexes.includes(j)) {
3608
+ minIndex = j;
3609
+ minIndexes.push(j);
3610
+ break;
3611
+ }
3612
+ }
3613
+ var res = math.round(percent(partialAmounts[minIndex].toString(), sum)).toString();
3614
+ if (Number(res) === 0) {
3615
+ ps[minIndex] = '1';
3616
+ } else {
3617
+ ps[minIndex] = res;
3618
+ }
3619
+ }
3620
+ var finalPIndex = ps.indexOf('0');
3621
+ ps[finalPIndex] = subtraction('100', ps.length === 1 ? Number(ps[0]) : math.sum.apply(math, ps.map(function (p) {
3622
+ return Number(p);
3623
+ }))).toString();
3624
+ return ps;
3625
+ } else {
3626
+ return [];
3627
+ }
3628
+ }
3629
+ var isMobile = function isMobile() {
3630
+ return window.screen.width <= 600;
3631
+ };
3632
+ function divide(numerator, denominator) {
3633
+ return math.format(math.evaluate(numerator + " / " + denominator), {
3634
+ notation: 'fixed'
3635
+ });
3636
+ }
3637
+ var getMax = function getMax(id, amount, minNearAmountLeftForGasFees) {
3638
+ return id !== exports.WRAP_NEAR_CONTRACT_ID ? amount : Number(amount) <= minNearAmountLeftForGasFees ? '0' : String(Number(amount) - minNearAmountLeftForGasFees);
3639
+ };
3640
+ var isValidSlippageTolerance = function isValidSlippageTolerance(value) {
3641
+ return value > 0 && value < 100;
3642
+ };
3643
+ function getPointByPrice(pointDelta, price, decimalRate, noNeedSlot) {
3644
+ var point = Math.log(+price * decimalRate) / Math.log(CONSTANT_D);
3645
+ var point_int = Math.round(point);
3646
+ var point_int_slot = point_int;
3647
+ if (!noNeedSlot) {
3648
+ point_int_slot = Math.floor(point_int / pointDelta) * pointDelta;
3649
+ }
3650
+ if (point_int_slot < POINTLEFTRANGE) {
3651
+ return POINTLEFTRANGE;
3652
+ } else if (point_int_slot > POINTRIGHTRANGE) {
3653
+ return 800000;
3654
+ }
3655
+ return point_int_slot;
3656
+ }
3657
+ var feeToPointDelta = function feeToPointDelta(fee) {
3658
+ switch (fee) {
3659
+ case 100:
3660
+ return 1;
3661
+ case 400:
3662
+ return 8;
3663
+ case 2000:
3664
+ return 40;
3665
+ case 10000:
3666
+ return 200;
3667
+ default:
3668
+ throw NoFeeToPool(fee);
3669
+ }
3670
+ };
3671
+ var priceToPoint = function priceToPoint(_ref2) {
3672
+ var tokenA = _ref2.tokenA,
3673
+ tokenB = _ref2.tokenB,
3674
+ amountA = _ref2.amountA,
3675
+ amountB = _ref2.amountB,
3676
+ fee = _ref2.fee;
3677
+ if (DCL_POOL_FEE_LIST.indexOf(fee) === -1) throw NoFeeToPool(fee);
3678
+ var decimal_price_A_by_B = new Big(amountB).div(amountA);
3679
+ var undecimal_price_A_by_B = decimal_price_A_by_B.times(new Big(10).pow(tokenB.decimals)).div(new Big(10).pow(tokenA.decimals));
3680
+ var pointDelta = feeToPointDelta(fee);
3681
+ var price = decimal_price_A_by_B;
3682
+ var decimalRate = new Big(10).pow(tokenB.decimals).div(new Big(10).pow(tokenA.decimals)).toNumber();
3683
+ return getPointByPrice(pointDelta, scientificNotationToString(price.toString()), decimalRate);
3684
+ };
3685
+ var pointToPrice = function pointToPrice(_ref3) {
3686
+ var tokenA = _ref3.tokenA,
3687
+ tokenB = _ref3.tokenB,
3688
+ point = _ref3.point;
3689
+ var undecimal_price = Math.pow(CONSTANT_D, point);
3690
+ var decimal_price_A_by_B = new Big(undecimal_price).times(new Big(10).pow(tokenA.decimals)).div(new Big(10).pow(tokenB.decimals));
3691
+ return scientificNotationToString(decimal_price_A_by_B.toString());
3692
+ };
3693
+ var registerAccountOnToken = function registerAccountOnToken(AccountId) {
3694
+ return {
3695
+ methodName: 'storage_deposit',
3696
+ args: {
3697
+ registration_only: true,
3698
+ account_id: AccountId
3699
+ },
3700
+ gas: '30000000000000',
3701
+ amount: STORAGE_TO_REGISTER_WITH_MFT
3702
+ };
3703
+ };
3704
+
3705
+ var getKeyStore = function getKeyStore() {
3706
+ return typeof window === 'undefined' ? new nearApiJs.keyStores.InMemoryKeyStore() : new nearApiJs.keyStores.BrowserLocalStorageKeyStore();
3707
+ };
3708
+ var provider = /*#__PURE__*/new nearApiJs.providers.JsonRpcProvider({
3709
+ url: /*#__PURE__*/getConfig().nodeUrl
3710
+ });
3711
+ var getMemorySigner = /*#__PURE__*/function () {
3712
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
3713
+ var AccountId, keyPath, credentials, credentialAccountId, myKeyStore, signer;
3714
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3715
+ while (1) {
3716
+ switch (_context.prev = _context.next) {
3717
+ case 0:
3718
+ AccountId = _ref.AccountId, keyPath = _ref.keyPath;
3719
+ _context.prev = 1;
3720
+ // const homedir = os.homedir();
3721
+ credentials = JSON.parse(fs.readFileSync(keyPath).toString());
3722
+ credentialAccountId = credentials == null ? void 0 : credentials.account_id;
3723
+ if (credentialAccountId) {
3724
+ _context.next = 6;
3725
+ break;
3726
+ }
3727
+ throw NoCredential;
3728
+ case 6:
3729
+ if (!(credentialAccountId !== AccountId)) {
3730
+ _context.next = 8;
3731
+ break;
3732
+ }
3733
+ throw AccountIdMisMatch;
3734
+ case 8:
3735
+ myKeyStore = new nearApiJs.keyStores.InMemoryKeyStore();
3736
+ myKeyStore.setKey(getConfig().networkId, AccountId, nearApiJs.KeyPair.fromString(credentials.private_key));
3737
+ signer = new nearApiJs.InMemorySigner(myKeyStore);
3738
+ return _context.abrupt("return", signer);
3739
+ case 14:
3740
+ _context.prev = 14;
3741
+ _context.t0 = _context["catch"](1);
3742
+ throw _context.t0;
3743
+ case 17:
3744
+ case "end":
3745
+ return _context.stop();
3746
+ }
3747
+ }
3748
+ }, _callee, null, [[1, 14]]);
3749
+ }));
3750
+ return function getMemorySigner(_x) {
3751
+ return _ref2.apply(this, arguments);
3752
+ };
3753
+ }();
3754
+ var validateAccessKey = function validateAccessKey(transaction, accessKey) {
3755
+ if (accessKey.permission === 'FullAccess') {
3756
+ return accessKey;
3757
+ }
3758
+ // eslint-disable-next-line @typescript-eslint/naming-convention
3759
+ var _accessKey$permission = accessKey.permission.FunctionCall,
3760
+ receiver_id = _accessKey$permission.receiver_id,
3761
+ method_names = _accessKey$permission.method_names;
3762
+ if (transaction.receiverId !== receiver_id) {
3763
+ return null;
3764
+ }
3765
+ return transaction.actions.every(function (action) {
3766
+ if (action.type !== 'FunctionCall') {
3767
+ return false;
3768
+ }
3769
+ var _action$params = action.params,
3770
+ methodName = _action$params.methodName,
3771
+ deposit = _action$params.deposit;
3772
+ if (method_names.length && method_names.includes(methodName)) {
3773
+ return false;
3774
+ }
3775
+ return parseFloat(deposit) <= 0;
3776
+ });
3777
+ };
3778
+ var getSignedTransactionsByMemoryKey = /*#__PURE__*/function () {
3779
+ var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3) {
3780
+ var transactionsRef, AccountId, keyPath, transactions, block, signedTransactions, signer, i, transaction, publicKey, accessKey, tx, _yield$nearTransactio, signedTx;
3781
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
3782
+ while (1) {
3783
+ switch (_context2.prev = _context2.next) {
3784
+ case 0:
3785
+ transactionsRef = _ref3.transactionsRef, AccountId = _ref3.AccountId, keyPath = _ref3.keyPath;
3786
+ transactions = transformTransactions(transactionsRef, AccountId);
3787
+ _context2.next = 4;
3788
+ return provider.block({
3789
+ finality: 'final'
3790
+ });
3791
+ case 4:
3792
+ block = _context2.sent;
3793
+ signedTransactions = [];
3794
+ _context2.next = 8;
3795
+ return getMemorySigner({
3796
+ AccountId: AccountId,
3797
+ keyPath: keyPath
3798
+ });
3799
+ case 8:
3800
+ signer = _context2.sent;
3801
+ i = 0;
3802
+ case 10:
3803
+ if (!(i < transactions.length)) {
3804
+ _context2.next = 31;
3805
+ break;
3806
+ }
3807
+ transaction = transactions[i];
3808
+ _context2.next = 14;
3809
+ return signer.getPublicKey(AccountId, getConfig().networkId);
3810
+ case 14:
3811
+ publicKey = _context2.sent;
3812
+ if (publicKey) {
3813
+ _context2.next = 17;
3814
+ break;
3815
+ }
3816
+ throw NoPuiblicKeyError;
3817
+ case 17:
3818
+ _context2.next = 19;
3819
+ return provider.query({
3820
+ request_type: 'view_access_key',
3821
+ finality: 'final',
3822
+ account_id: AccountId,
3823
+ public_key: publicKey.toString()
3824
+ });
3825
+ case 19:
3826
+ accessKey = _context2.sent;
3827
+ if (validateAccessKey(transaction, accessKey)) {
3828
+ _context2.next = 22;
3829
+ break;
3830
+ }
3831
+ throw InValidAccessKeyError;
3832
+ case 22:
3833
+ tx = nearApiJs.transactions.createTransaction(AccountId, nearApiJs.utils.PublicKey.from(publicKey.toString()), transactions[i].receiverId, accessKey.nonce + i + 1, transaction.actions.map(function (action) {
3834
+ var _action$params2 = action.params,
3835
+ methodName = _action$params2.methodName,
3836
+ args = _action$params2.args,
3837
+ gas = _action$params2.gas,
3838
+ deposit = _action$params2.deposit;
3839
+ return nearApiJs.transactions.functionCall(methodName, args, new BN(gas), new BN(deposit));
3840
+ }), nearApiJs.utils.serialize.base_decode(block.header.hash));
3841
+ _context2.next = 25;
3842
+ return nearApiJs.transactions.signTransaction(tx, signer, transactions[i].signerId, getConfig().networkId);
3843
+ case 25:
3844
+ _yield$nearTransactio = _context2.sent;
3845
+ signedTx = _yield$nearTransactio[1];
3846
+ signedTransactions.push(signedTx);
3847
+ case 28:
3848
+ i += 1;
3849
+ _context2.next = 10;
3850
+ break;
3851
+ case 31:
3852
+ return _context2.abrupt("return", signedTransactions);
3853
+ case 32:
3854
+ case "end":
3855
+ return _context2.stop();
3856
+ }
3857
+ }
3858
+ }, _callee2);
3859
+ }));
3860
+ return function getSignedTransactionsByMemoryKey(_x2) {
3861
+ return _ref4.apply(this, arguments);
3862
+ };
3863
+ }();
3864
+ var sendTransactionsByMemoryKey = /*#__PURE__*/function () {
3865
+ var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref5) {
3866
+ var signedTransactions, results, i;
3867
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
3868
+ while (1) {
3869
+ switch (_context3.prev = _context3.next) {
3870
+ case 0:
3871
+ signedTransactions = _ref5.signedTransactions;
3872
+ _context3.prev = 1;
3873
+ results = [];
3874
+ i = 0;
3875
+ case 4:
3876
+ if (!(i < signedTransactions.length)) {
3877
+ _context3.next = 13;
3878
+ break;
3879
+ }
3880
+ _context3.t0 = results;
3881
+ _context3.next = 8;
3882
+ return provider.sendTransaction(signedTransactions[i]);
3883
+ case 8:
3884
+ _context3.t1 = _context3.sent;
3885
+ _context3.t0.push.call(_context3.t0, _context3.t1);
3886
+ case 10:
3887
+ i += 1;
3888
+ _context3.next = 4;
3889
+ break;
3890
+ case 13:
3891
+ return _context3.abrupt("return", results);
3892
+ case 16:
3893
+ _context3.prev = 16;
3894
+ _context3.t2 = _context3["catch"](1);
3895
+ throw _context3.t2;
3896
+ case 19:
3897
+ case "end":
3898
+ return _context3.stop();
3899
+ }
3900
+ }
3901
+ }, _callee3, null, [[1, 16]]);
3902
+ }));
3903
+ return function sendTransactionsByMemoryKey(_x3) {
3904
+ return _ref6.apply(this, arguments);
3905
+ };
3906
+ }();
3907
+
3908
+ var BANANA_ID = 'berryclub.ek.near';
3909
+ var CHEDDAR_ID = 'token.cheddar.near';
3910
+ var CUCUMBER_ID = 'farm.berryclub.ek.near';
3911
+ var HAPI_ID = 'd9c2d319cd7e6177336b0a9c93c21cb48d84fb54.factory.bridge.near';
3912
+ var WOO_ID = '4691937a7508860f876c9c0a2a617e7d9e945d4b.factory.bridge.near';
3913
+ var REPLACE_TOKENS = [BANANA_ID, CHEDDAR_ID, CUCUMBER_ID, HAPI_ID, WOO_ID];
3914
+ var near = /*#__PURE__*/new nearApiJs.Near( /*#__PURE__*/_extends({
3915
+ keyStore: /*#__PURE__*/getKeyStore(),
3916
+ headers: {}
3917
+ }, /*#__PURE__*/getConfig()));
3918
+ var init_env = function init_env(env, indexerUrl, nodeUrl) {
3919
+ near = new nearApiJs.Near(_extends({
3920
+ keyStore: getKeyStore(),
3921
+ headers: {}
3922
+ }, getConfig(env, indexerUrl, nodeUrl)));
3923
+ return switchEnv();
3924
+ };
3925
+ var refFiViewFunction = /*#__PURE__*/function () {
3926
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
3927
+ var methodName, args, nearConnection;
3928
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
3929
+ while (1) {
3930
+ switch (_context.prev = _context.next) {
3931
+ case 0:
3932
+ methodName = _ref.methodName, args = _ref.args;
3933
+ _context.next = 3;
3934
+ return near.account(exports.REF_FI_CONTRACT_ID);
3935
+ case 3:
3936
+ nearConnection = _context.sent;
3937
+ return _context.abrupt("return", nearConnection.viewFunction(exports.REF_FI_CONTRACT_ID, methodName, args));
3938
+ case 5:
3939
+ case "end":
3940
+ return _context.stop();
3941
+ }
3942
+ }
3943
+ }, _callee);
3944
+ }));
3945
+ return function refFiViewFunction(_x) {
3946
+ return _ref2.apply(this, arguments);
3947
+ };
3948
+ }();
3949
+ var ftViewFunction = /*#__PURE__*/function () {
3950
+ var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(tokenId, _ref3) {
3951
+ var methodName, args, nearConnection;
3952
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
3953
+ while (1) {
3954
+ switch (_context2.prev = _context2.next) {
3955
+ case 0:
3956
+ methodName = _ref3.methodName, args = _ref3.args;
3957
+ _context2.next = 3;
3958
+ return near.account(exports.REF_FI_CONTRACT_ID);
3959
+ case 3:
3960
+ nearConnection = _context2.sent;
3961
+ return _context2.abrupt("return", nearConnection.viewFunction(tokenId, methodName, args));
3962
+ case 5:
3963
+ case "end":
3964
+ return _context2.stop();
3965
+ }
3966
+ }
3967
+ }, _callee2);
3968
+ }));
3969
+ return function ftViewFunction(_x2, _x3) {
3970
+ return _ref4.apply(this, arguments);
3971
+ };
3972
+ }();
3973
+ var ftGetStorageBalance = function ftGetStorageBalance(tokenId, AccountId) {
3974
+ if (!AccountId) throw NoAccountIdFound;
3975
+ return ftViewFunction(tokenId, {
3976
+ methodName: 'storage_balance_of',
3977
+ args: {
3978
+ account_id: AccountId
3979
+ }
3980
+ });
3981
+ };
3982
+ var ftGetBalance = /*#__PURE__*/function () {
3983
+ var _ref5 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(tokenId, AccountId) {
3984
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
3985
+ while (1) {
3986
+ switch (_context3.prev = _context3.next) {
3987
+ case 0:
3988
+ if (AccountId) {
3989
+ _context3.next = 2;
3990
+ break;
3991
+ }
3992
+ return _context3.abrupt("return", '0');
3993
+ case 2:
3994
+ if (!(tokenId === 'NEAR')) {
3995
+ _context3.next = 4;
3996
+ break;
3997
+ }
3998
+ return _context3.abrupt("return", getAccountNearBalance(AccountId)["catch"](function () {
3999
+ return '0';
4000
+ }));
4001
+ case 4:
4002
+ return _context3.abrupt("return", ftViewFunction(tokenId, {
4003
+ methodName: 'ft_balance_of',
4004
+ args: {
4005
+ account_id: AccountId
4006
+ }
4007
+ }).then(function (res) {
4008
+ return res;
4009
+ })["catch"](function () {
4010
+ return '0';
4011
+ }));
4012
+ case 5:
4013
+ case "end":
4014
+ return _context3.stop();
4015
+ }
4016
+ }
4017
+ }, _callee3);
4018
+ }));
4019
+ return function ftGetBalance(_x4, _x5) {
4020
+ return _ref5.apply(this, arguments);
4021
+ };
4022
+ }();
4023
+ var getTotalPools = /*#__PURE__*/function () {
4024
+ var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
4025
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
4026
+ while (1) {
4027
+ switch (_context4.prev = _context4.next) {
4028
+ case 0:
4029
+ return _context4.abrupt("return", refFiViewFunction({
4030
+ methodName: 'get_number_of_pools'
4031
+ }));
4032
+ case 1:
4033
+ case "end":
4034
+ return _context4.stop();
4035
+ }
4036
+ }
4037
+ }, _callee4);
4038
+ }));
4039
+ return function getTotalPools() {
4040
+ return _ref6.apply(this, arguments);
4041
+ };
4042
+ }();
4043
+ var ftGetTokenMetadata = /*#__PURE__*/function () {
4044
+ var _ref7 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(id, tag) {
4045
+ var metadata;
4046
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
4047
+ while (1) {
4048
+ switch (_context5.prev = _context5.next) {
4049
+ case 0:
4050
+ if (!(id === exports.REF_TOKEN_ID)) {
4051
+ _context5.next = 2;
4052
+ break;
4053
+ }
4054
+ return _context5.abrupt("return", exports.REF_META_DATA);
4055
+ case 2:
4056
+ _context5.next = 4;
4057
+ return ftViewFunction(id, {
4058
+ methodName: 'ft_metadata'
4059
+ })["catch"](function () {
4060
+ throw TokenNotExistError(id);
4061
+ });
4062
+ case 4:
4063
+ metadata = _context5.sent;
4064
+ if (!(!metadata.icon || id === BANANA_ID || id === CHEDDAR_ID || id === CUCUMBER_ID || id === HAPI_ID || id === WOO_ID || id === exports.WRAP_NEAR_CONTRACT_ID)) {
4065
+ _context5.next = 7;
4066
+ break;
4067
+ }
4068
+ return _context5.abrupt("return", _extends({}, metadata, {
4069
+ icon: icons[id],
4070
+ id: id
4071
+ }));
4072
+ case 7:
4073
+ return _context5.abrupt("return", _extends({}, metadata, {
4074
+ id: id
4075
+ }));
4076
+ case 8:
4077
+ case "end":
4078
+ return _context5.stop();
4079
+ }
4080
+ }
4081
+ }, _callee5);
4082
+ }));
4083
+ return function ftGetTokenMetadata(_x6, _x7) {
4084
+ return _ref7.apply(this, arguments);
4085
+ };
4086
+ }();
4087
+ var ftGetTokensMetadata = /*#__PURE__*/function () {
4088
+ var _ref8 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(tokenIds, allTokens) {
4089
+ var ids, tokensMetadata;
4090
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
4091
+ while (1) {
4092
+ switch (_context6.prev = _context6.next) {
4093
+ case 0:
4094
+ _context6.t0 = tokenIds;
4095
+ if (_context6.t0) {
4096
+ _context6.next = 5;
4097
+ break;
4098
+ }
4099
+ _context6.next = 4;
4100
+ return getGlobalWhitelist();
4101
+ case 4:
4102
+ _context6.t0 = _context6.sent;
4103
+ case 5:
4104
+ ids = _context6.t0;
4105
+ _context6.next = 8;
4106
+ return Promise.all(ids.map(function (id) {
4107
+ return (allTokens == null ? void 0 : allTokens[id]) || ftGetTokenMetadata(id)["catch"](function () {
4108
+ return null;
4109
+ });
4110
+ }));
4111
+ case 8:
4112
+ tokensMetadata = _context6.sent;
4113
+ return _context6.abrupt("return", tokensMetadata.reduce(function (pre, cur, i) {
4114
+ var _extends2;
4115
+ return _extends({}, pre, (_extends2 = {}, _extends2[ids[i]] = cur, _extends2));
4116
+ }, {}));
4117
+ case 10:
4118
+ case "end":
4119
+ return _context6.stop();
4120
+ }
4121
+ }
4122
+ }, _callee6);
4123
+ }));
4124
+ return function ftGetTokensMetadata(_x8, _x9) {
4125
+ return _ref8.apply(this, arguments);
4126
+ };
4127
+ }();
4128
+ var getGlobalWhitelist = /*#__PURE__*/function () {
4129
+ var _ref9 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
4130
+ var globalWhitelist;
4131
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
4132
+ while (1) {
4133
+ switch (_context7.prev = _context7.next) {
4134
+ case 0:
4135
+ _context7.next = 2;
4136
+ return refFiViewFunction({
4137
+ methodName: 'get_whitelisted_tokens'
4138
+ });
4139
+ case 2:
4140
+ globalWhitelist = _context7.sent;
4141
+ return _context7.abrupt("return", Array.from(new Set(globalWhitelist)));
4142
+ case 4:
4143
+ case "end":
4144
+ return _context7.stop();
4145
+ }
4146
+ }
4147
+ }, _callee7);
4148
+ }));
4149
+ return function getGlobalWhitelist() {
4150
+ return _ref9.apply(this, arguments);
4151
+ };
4152
+ }();
4153
+ var getUserRegisteredTokens = /*#__PURE__*/function () {
4154
+ var _ref10 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(AccountId) {
4155
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
4156
+ while (1) {
4157
+ switch (_context8.prev = _context8.next) {
4158
+ case 0:
4159
+ if (AccountId) {
4160
+ _context8.next = 2;
4161
+ break;
4162
+ }
4163
+ return _context8.abrupt("return", []);
4164
+ case 2:
4165
+ return _context8.abrupt("return", refFiViewFunction({
4166
+ methodName: 'get_user_whitelisted_tokens',
4167
+ args: {
4168
+ account_id: AccountId
4169
+ }
4170
+ }));
4171
+ case 3:
4172
+ case "end":
4173
+ return _context8.stop();
4174
+ }
4175
+ }
4176
+ }, _callee8);
4177
+ }));
4178
+ return function getUserRegisteredTokens(_x10) {
4179
+ return _ref10.apply(this, arguments);
4180
+ };
4181
+ }();
4182
+ var getAccountNearBalance = /*#__PURE__*/function () {
4183
+ var _ref11 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(accountId) {
4184
+ var provider;
4185
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
4186
+ while (1) {
4187
+ switch (_context9.prev = _context9.next) {
4188
+ case 0:
4189
+ provider = new nearApiJs.providers.JsonRpcProvider({
4190
+ url: getConfig().nodeUrl
4191
+ });
4192
+ return _context9.abrupt("return", provider.query({
4193
+ request_type: 'view_account',
4194
+ finality: 'final',
4195
+ account_id: accountId
4196
+ }).then(function (data) {
4197
+ return data.amount;
4198
+ }));
4199
+ case 2:
4200
+ case "end":
4201
+ return _context9.stop();
4202
+ }
4203
+ }
4204
+ }, _callee9);
4205
+ }));
4206
+ return function getAccountNearBalance(_x11) {
4207
+ return _ref11.apply(this, arguments);
4208
+ };
4209
+ }();
4210
+ var nearDepositTransaction = function nearDepositTransaction(amount) {
4211
+ var transaction = {
4212
+ receiverId: exports.WRAP_NEAR_CONTRACT_ID,
4213
+ functionCalls: [{
4214
+ methodName: 'near_deposit',
4215
+ args: {},
4216
+ gas: '50000000000000',
4217
+ amount: amount
4218
+ }]
4219
+ };
4220
+ return transaction;
4221
+ };
4222
+ var nearWithdrawTransaction = function nearWithdrawTransaction(amount) {
4223
+ var transaction = {
4224
+ receiverId: exports.WRAP_NEAR_CONTRACT_ID,
4225
+ functionCalls: [{
4226
+ methodName: 'near_withdraw',
4227
+ args: {
4228
+ amount: nearApiJs.utils.format.parseNearAmount(amount)
4229
+ },
4230
+ amount: ONE_YOCTO_NEAR
4231
+ }]
4232
+ };
4233
+ return transaction;
4234
+ };
4235
+ var refDCLSwapViewFunction = /*#__PURE__*/function () {
4236
+ var _ref13 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(_ref12) {
4237
+ var methodName, args, nearConnection;
4238
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
4239
+ while (1) {
4240
+ switch (_context10.prev = _context10.next) {
4241
+ case 0:
4242
+ methodName = _ref12.methodName, args = _ref12.args;
4243
+ _context10.next = 3;
4244
+ return near.account(exports.REF_FI_CONTRACT_ID);
4245
+ case 3:
4246
+ nearConnection = _context10.sent;
4247
+ if (exports.config.REF_DCL_SWAP_CONTRACT_ID) {
4248
+ _context10.next = 6;
4249
+ break;
4250
+ }
4251
+ throw DCLInValid;
4252
+ case 6:
4253
+ return _context10.abrupt("return", nearConnection.viewFunction(exports.config.REF_DCL_SWAP_CONTRACT_ID, methodName, args));
4254
+ case 7:
4255
+ case "end":
4256
+ return _context10.stop();
4257
+ }
4258
+ }
4259
+ }, _callee10);
4260
+ }));
4261
+ return function refDCLSwapViewFunction(_x12) {
4262
+ return _ref13.apply(this, arguments);
4263
+ };
4264
+ }();
4265
+ var DCLSwapGetStorageBalance = function DCLSwapGetStorageBalance(tokenId, AccountId) {
4266
+ return refDCLSwapViewFunction({
4267
+ methodName: 'storage_balance_of',
4268
+ args: {
4269
+ account_id: AccountId
4270
+ }
4120
4271
  });
4121
4272
  };
4122
- function getPoolAllocationPercents(pools) {
4123
- if (pools.length === 1) return ['100'];
4124
- if (pools) {
4125
- var partialAmounts = pools.map(function (pool) {
4126
- return math.bignumber(pool.partialAmountIn);
4127
- });
4128
- var ps = new Array(partialAmounts.length).fill('0');
4129
- var sum = partialAmounts.length === 1 ? partialAmounts[0] : math.sum.apply(math, partialAmounts);
4130
- var sortedAmount = _.sortBy(partialAmounts, function (p) {
4131
- return Number(p);
4132
- });
4133
- var minIndexes = [];
4134
- for (var k = 0; k < sortedAmount.length - 1; k++) {
4135
- var minIndex = -1;
4136
- for (var j = 0; j < partialAmounts.length; j++) {
4137
- if (partialAmounts[j].eq(sortedAmount[k]) && !minIndexes.includes(j)) {
4138
- minIndex = j;
4139
- minIndexes.push(j);
4140
- break;
4273
+ var getMinStorageBalance = /*#__PURE__*/function () {
4274
+ var _ref14 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(nep141Address) {
4275
+ var provider, result, balance;
4276
+ return _regeneratorRuntime().wrap(function _callee11$(_context11) {
4277
+ while (1) {
4278
+ switch (_context11.prev = _context11.next) {
4279
+ case 0:
4280
+ _context11.prev = 0;
4281
+ provider = new nearApiJs.providers.JsonRpcProvider({
4282
+ url: getConfig().nodeUrl
4283
+ });
4284
+ _context11.next = 4;
4285
+ return provider.query({
4286
+ request_type: 'call_function',
4287
+ account_id: nep141Address,
4288
+ method_name: 'storage_balance_bounds',
4289
+ args_base64: '',
4290
+ finality: 'optimistic'
4291
+ });
4292
+ case 4:
4293
+ result = _context11.sent;
4294
+ balance = JSON.parse(Buffer.from(result.result).toString());
4295
+ if (!(!balance || !balance.min)) {
4296
+ _context11.next = 8;
4297
+ break;
4298
+ }
4299
+ return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
4300
+ case 8:
4301
+ return _context11.abrupt("return", balance.min);
4302
+ case 11:
4303
+ _context11.prev = 11;
4304
+ _context11.t0 = _context11["catch"](0);
4305
+ console.error(_context11.t0, nep141Address);
4306
+ return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
4307
+ case 15:
4308
+ case "end":
4309
+ return _context11.stop();
4141
4310
  }
4142
4311
  }
4143
- var res = math.round(percent(partialAmounts[minIndex].toString(), sum)).toString();
4144
- if (Number(res) === 0) {
4145
- ps[minIndex] = '1';
4146
- } else {
4147
- ps[minIndex] = res;
4148
- }
4149
- }
4150
- var finalPIndex = ps.indexOf('0');
4151
- ps[finalPIndex] = subtraction('100', ps.length === 1 ? Number(ps[0]) : math.sum.apply(math, ps.map(function (p) {
4152
- return Number(p);
4153
- }))).toString();
4154
- return ps;
4155
- } else {
4156
- return [];
4157
- }
4158
- }
4159
- var isMobile = function isMobile() {
4160
- return window.screen.width <= 600;
4312
+ }, _callee11, null, [[0, 11]]);
4313
+ }));
4314
+ return function getMinStorageBalance(_x13) {
4315
+ return _ref14.apply(this, arguments);
4316
+ };
4317
+ }();
4318
+
4319
+ var DCL_POOL_FEE_LIST = [100, 400, 2000, 10000];
4320
+ var getDCLPoolId = function getDCLPoolId(tokenA, tokenB, fee) {
4321
+ if (DCL_POOL_FEE_LIST.indexOf(fee) === -1) throw NoFeeToPool(fee);
4322
+ var tokenSeq = [tokenA, tokenB].sort().join('|');
4323
+ return tokenSeq + "|" + fee;
4161
4324
  };
4162
- function divide(numerator, denominator) {
4163
- return math.format(math.evaluate(numerator + " / " + denominator), {
4164
- notation: 'fixed'
4325
+ var listDCLPools = function listDCLPools() {
4326
+ return refDCLSwapViewFunction({
4327
+ methodName: 'list_pools'
4165
4328
  });
4166
- }
4167
- var getMax = function getMax(id, amount, minNearAmountLeftForGasFees) {
4168
- return id !== exports.WRAP_NEAR_CONTRACT_ID ? amount : Number(amount) <= minNearAmountLeftForGasFees ? '0' : String(Number(amount) - minNearAmountLeftForGasFees);
4169
4329
  };
4170
- var isValidSlippageTolerance = function isValidSlippageTolerance(value) {
4171
- return value > 0 && value < 100;
4330
+ var getDCLPool = /*#__PURE__*/function () {
4331
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(pool_id) {
4332
+ var _pool_id$split, token_x, token_y, fee, token_seq, new_pool_id;
4333
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
4334
+ while (1) {
4335
+ switch (_context.prev = _context.next) {
4336
+ case 0:
4337
+ _pool_id$split = pool_id.split('|'), token_x = _pool_id$split[0], token_y = _pool_id$split[1], fee = _pool_id$split[2];
4338
+ token_seq = [token_x, token_y].sort().join('|');
4339
+ new_pool_id = token_seq + "|" + fee;
4340
+ return _context.abrupt("return", refDCLSwapViewFunction({
4341
+ methodName: 'get_pool',
4342
+ args: {
4343
+ pool_id: new_pool_id
4344
+ }
4345
+ }));
4346
+ case 4:
4347
+ case "end":
4348
+ return _context.stop();
4349
+ }
4350
+ }
4351
+ }, _callee);
4352
+ }));
4353
+ return function getDCLPool(_x) {
4354
+ return _ref.apply(this, arguments);
4355
+ };
4356
+ }();
4357
+
4358
+ var formatError = function formatError(msg) {
4359
+ return new Error(msg);
4172
4360
  };
4173
- function getPointByPrice(pointDelta, price, decimalRate, noNeedSlot) {
4174
- var point = Math.log(+price * decimalRate) / Math.log(CONSTANT_D);
4175
- var point_int = Math.round(point);
4176
- var point_int_slot = point_int;
4177
- if (!noNeedSlot) {
4178
- point_int_slot = Math.floor(point_int / pointDelta) * pointDelta;
4179
- }
4180
- if (point_int_slot < POINTLEFTRANGE) {
4181
- return POINTLEFTRANGE;
4182
- } else if (point_int_slot > POINTRIGHTRANGE) {
4183
- return 800000;
4184
- }
4185
- return point_int_slot;
4186
- }
4187
- var feeToPointDelta = function feeToPointDelta(fee) {
4188
- switch (fee) {
4189
- case 100:
4190
- return 1;
4191
- case 400:
4192
- return 8;
4193
- case 2000:
4194
- return 40;
4195
- case 10000:
4196
- return 200;
4197
- default:
4198
- throw NoFeeToPool(fee);
4199
- }
4361
+ var unNamedError = /*#__PURE__*/formatError('Something wrong happened');
4362
+ var SameInputTokenError = /*#__PURE__*/formatError('Input token should be different with output token');
4363
+ var ZeroInputError = /*#__PURE__*/formatError('Input amount should be greater than 0');
4364
+ var NoPoolError = /*#__PURE__*/formatError('No pool found for the input tokens');
4365
+ var NotLoginError = /*#__PURE__*/formatError('Please login in first');
4366
+ var SwapRouteError = /*#__PURE__*/formatError("Something wrong happened, we don't get correct routes corrreponding to current input");
4367
+ var TokenNotExistError = function TokenNotExistError(id) {
4368
+ return formatError(id + " doesn't exist in " + getConfig().networkId);
4200
4369
  };
4201
- var priceToPoint = function priceToPoint(_ref2) {
4202
- var tokenA = _ref2.tokenA,
4203
- tokenB = _ref2.tokenB,
4204
- amountA = _ref2.amountA,
4205
- amountB = _ref2.amountB,
4206
- fee = _ref2.fee;
4207
- if (DCL_POOL_FEE_LIST.indexOf(fee) === -1) throw NoFeeToPool(fee);
4208
- var decimal_price_A_by_B = new Big(amountB).div(amountA);
4209
- var undecimal_price_A_by_B = decimal_price_A_by_B.times(new Big(10).pow(tokenB.decimals)).div(new Big(10).pow(tokenA.decimals));
4210
- var pointDelta = feeToPointDelta(fee);
4211
- var price = decimal_price_A_by_B;
4212
- var decimalRate = new Big(10).pow(tokenB.decimals).div(new Big(10).pow(tokenA.decimals)).toNumber();
4213
- return getPointByPrice(pointDelta, scientificNotationToString(price.toString()), decimalRate);
4370
+ var NoPuiblicKeyError = /*#__PURE__*/formatError('No public key found');
4371
+ var NoLocalSignerError = /*#__PURE__*/formatError('No local signer found');
4372
+ var InValidAccessKeyError = /*#__PURE__*/formatError('Invalid access key');
4373
+ var AccountIdMisMatch = /*#__PURE__*/formatError("Your input account id doesn't match the account id in the credential");
4374
+ var NoCredential = /*#__PURE__*/formatError('No Credential to such path');
4375
+ var NoAccountIdFound = /*#__PURE__*/formatError('No account id found');
4376
+ var NoFeeToPool = function NoFeeToPool(fee) {
4377
+ return formatError("InValid fee " + fee + " to DCL pool, the valid fee should be one of " + DCL_POOL_FEE_LIST);
4214
4378
  };
4215
- var pointToPrice = function pointToPrice(_ref3) {
4216
- var tokenA = _ref3.tokenA,
4217
- tokenB = _ref3.tokenB,
4218
- point = _ref3.point;
4219
- var undecimal_price = Math.pow(CONSTANT_D, point);
4220
- var decimal_price_A_by_B = new Big(undecimal_price).times(new Big(10).pow(tokenA.decimals)).div(new Big(10).pow(tokenB.decimals));
4221
- return scientificNotationToString(decimal_price_A_by_B.toString());
4379
+ var DCLInValid = /*#__PURE__*/formatError("DCL contract currently in Valid on " + exports.config.networkId);
4380
+ var NoPoolOnThisPair = function NoPoolOnThisPair(tokenA, tokenB) {
4381
+ return formatError("No pools on pair " + tokenA + " <> " + tokenB);
4222
4382
  };
4223
- var registerAccountOnToken = function registerAccountOnToken(AccountId) {
4224
- return {
4225
- methodName: 'storage_deposit',
4226
- args: {
4227
- registration_only: true,
4228
- account_id: AccountId
4229
- },
4230
- gas: '30000000000000',
4231
- amount: STORAGE_TO_REGISTER_WITH_MFT
4232
- };
4383
+ var SlippageError = /*#__PURE__*/formatError('slippage tolerance should be in range (0, 100)');
4384
+ var NoOrderFound = function NoOrderFound(order_id) {
4385
+ return formatError("No order " + (order_id || '') + " found");
4233
4386
  };
4387
+ var OrderNoRemainedAmount = /*#__PURE__*/formatError('No remained amount on this order');
4234
4388
 
4235
4389
  var instantSwap = /*#__PURE__*/function () {
4236
4390
  var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref) {
@@ -8261,6 +8415,7 @@
8261
8415
  exports.getHybridStableSmart = getHybridStableSmart;
8262
8416
  exports.getKeyStore = getKeyStore;
8263
8417
  exports.getMax = getMax;
8418
+ exports.getMemorySigner = getMemorySigner;
8264
8419
  exports.getMinStorageBalance = getMinStorageBalance;
8265
8420
  exports.getPointByPrice = getPointByPrice;
8266
8421
  exports.getPool = getPool;
@@ -8271,6 +8426,7 @@
8271
8426
  exports.getPriceImpact = getPriceImpact;
8272
8427
  exports.getRatedPoolDetail = getRatedPoolDetail;
8273
8428
  exports.getRefPools = getRefPools;
8429
+ exports.getSignedTransactionsByMemoryKey = getSignedTransactionsByMemoryKey;
8274
8430
  exports.getSimplePoolEstimate = getSimplePoolEstimate;
8275
8431
  exports.getStablePoolDecimal = getStablePoolDecimal;
8276
8432
  exports.getStablePoolEstimate = getStablePoolEstimate;