@ref-finance/ref-sdk 1.3.10 → 1.3.12

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.
@@ -3,6 +3,7 @@ export declare const FEE_DIVISOR = 10000;
3
3
  export declare const STABLE_LP_TOKEN_DECIMALS = 18;
4
4
  export declare const RATED_POOL_LP_TOKEN_DECIMALS = 24;
5
5
  export declare const STORAGE_TO_REGISTER_WITH_MFT = "0.1";
6
+ export declare const FT_MINIMUM_STORAGE_BALANCE_LARGE = "12500000000000000000000";
6
7
  export declare const ONE_YOCTO_NEAR = "0.000000000000000000000001";
7
8
  export declare function getConfig(env?: string | undefined, indexerUrl?: string | undefined): {
8
9
  networkId: string;
@@ -11,6 +11,7 @@ var _ = require('lodash');
11
11
  var ___default = _interopDefault(_);
12
12
  var math = require('mathjs');
13
13
  var Big = _interopDefault(require('big.js'));
14
+ var format = require('near-api-js/lib/utils/format');
14
15
  var React = require('react');
15
16
  var React__default = _interopDefault(React);
16
17
  var FiChevronDown = require('@react-icons/all-files/fi/FiChevronDown');
@@ -33,6 +34,8 @@ var FEE_DIVISOR = 10000;
33
34
  var STABLE_LP_TOKEN_DECIMALS = 18;
34
35
  var RATED_POOL_LP_TOKEN_DECIMALS = 24;
35
36
  var STORAGE_TO_REGISTER_WITH_MFT = '0.1';
37
+ //0.0125 NEAR
38
+ var FT_MINIMUM_STORAGE_BALANCE_LARGE = "12500000000000000000000";
36
39
  var ONE_YOCTO_NEAR = '0.000000000000000000000001';
37
40
  var ENV = '';
38
41
  var INDEXER_URL = '';
@@ -4278,6 +4281,51 @@ var DCLSwapGetStorageBalance = function DCLSwapGetStorageBalance(tokenId, Accoun
4278
4281
  }
4279
4282
  });
4280
4283
  };
4284
+ var getMinStorageBalance = /*#__PURE__*/function () {
4285
+ var _ref14 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(nep141Address) {
4286
+ var provider, result, balance;
4287
+ return _regeneratorRuntime().wrap(function _callee11$(_context11) {
4288
+ while (1) {
4289
+ switch (_context11.prev = _context11.next) {
4290
+ case 0:
4291
+ _context11.prev = 0;
4292
+ provider = new nearApiJs.providers.JsonRpcProvider({
4293
+ url: getConfig().nodeUrl
4294
+ });
4295
+ _context11.next = 4;
4296
+ return provider.query({
4297
+ request_type: 'call_function',
4298
+ account_id: nep141Address,
4299
+ method_name: 'storage_balance_bounds',
4300
+ args_base64: '',
4301
+ finality: 'optimistic'
4302
+ });
4303
+ case 4:
4304
+ result = _context11.sent;
4305
+ balance = JSON.parse(Buffer.from(result.result).toString());
4306
+ if (!(!balance || !balance.min)) {
4307
+ _context11.next = 8;
4308
+ break;
4309
+ }
4310
+ return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
4311
+ case 8:
4312
+ return _context11.abrupt("return", balance.min);
4313
+ case 11:
4314
+ _context11.prev = 11;
4315
+ _context11.t0 = _context11["catch"](0);
4316
+ console.error(_context11.t0, nep141Address);
4317
+ return _context11.abrupt("return", FT_MINIMUM_STORAGE_BALANCE_LARGE);
4318
+ case 15:
4319
+ case "end":
4320
+ return _context11.stop();
4321
+ }
4322
+ }
4323
+ }, _callee11, null, [[0, 11]]);
4324
+ }));
4325
+ return function getMinStorageBalance(_x13) {
4326
+ return _ref14.apply(this, arguments);
4327
+ };
4328
+ }();
4281
4329
 
4282
4330
  var DCL_POOL_FEE_LIST = [100, 400, 2000, 10000];
4283
4331
  var getDCLPoolId = function getDCLPoolId(tokenA, tokenB, fee) {
@@ -4378,21 +4426,35 @@ var instantSwap = /*#__PURE__*/function () {
4378
4426
  });
4379
4427
  case 2:
4380
4428
  tokenRegistered = _context.sent;
4381
- if (tokenRegistered === null) {
4382
- transactions.push({
4383
- receiverId: token.id,
4384
- functionCalls: [{
4385
- methodName: 'storage_deposit',
4386
- args: {
4387
- registration_only: true,
4388
- account_id: AccountId
4389
- },
4390
- gas: '30000000000000',
4391
- amount: STORAGE_TO_REGISTER_WITH_MFT
4392
- }]
4393
- });
4429
+ if (!(tokenRegistered === null)) {
4430
+ _context.next = 16;
4431
+ break;
4394
4432
  }
4395
- case 4:
4433
+ _context.t0 = transactions;
4434
+ _context.t1 = token.id;
4435
+ _context.t2 = {
4436
+ registration_only: true,
4437
+ account_id: AccountId
4438
+ };
4439
+ _context.t3 = format.formatNearAmount;
4440
+ _context.next = 10;
4441
+ return getMinStorageBalance(token.id);
4442
+ case 10:
4443
+ _context.t4 = _context.sent;
4444
+ _context.t5 = (0, _context.t3)(_context.t4, 24);
4445
+ _context.t6 = {
4446
+ methodName: 'storage_deposit',
4447
+ args: _context.t2,
4448
+ gas: '30000000000000',
4449
+ amount: _context.t5
4450
+ };
4451
+ _context.t7 = [_context.t6];
4452
+ _context.t8 = {
4453
+ receiverId: _context.t1,
4454
+ functionCalls: _context.t7
4455
+ };
4456
+ _context.t0.push.call(_context.t0, _context.t8);
4457
+ case 16:
4396
4458
  case "end":
4397
4459
  return _context.stop();
4398
4460
  }
@@ -5191,6 +5253,7 @@ var useTokenBalances = function useTokenBalances(tokens, AccountId) {
5191
5253
  };
5192
5254
  };
5193
5255
 
5256
+ var _ALLOWED_KEYS;
5194
5257
  var getPriceImpact$1 = function getPriceImpact(value, tokenIn, tokenInAmount) {
5195
5258
  var textColor = Number(value) <= 1 ? 'text-greenLight' : 1 < Number(value) && Number(value) <= 2 ? 'text-warn' : 'text-error';
5196
5259
  var displayValue = scientificNotationToString(multiply(tokenInAmount || '0', divide(value, '100')));
@@ -5502,7 +5565,33 @@ var HalfAndMaxAmount = function HalfAndMaxAmount(_ref6) {
5502
5565
  }, "Max"));
5503
5566
  };
5504
5567
  var DECIMAL_POINT = '.';
5505
- var ALLOWED_KEYS = ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', DECIMAL_POINT];
5568
+ var ALLOWED_KEYS = (_ALLOWED_KEYS = {
5569
+ '0': true,
5570
+ '1': true,
5571
+ '2': true,
5572
+ '3': true,
5573
+ '4': true,
5574
+ '5': true,
5575
+ '6': true,
5576
+ '7': true,
5577
+ '8': true,
5578
+ '9': true
5579
+ }, _ALLOWED_KEYS[DECIMAL_POINT] = true, _ALLOWED_KEYS);
5580
+ var isValidInput = function isValidInput(value) {
5581
+ var decimalPointsAmount = 0;
5582
+ if (value === DECIMAL_POINT) return false;
5583
+ for (var i = 0; i < value.length; i++) {
5584
+ var _char = value[i];
5585
+ if (!ALLOWED_KEYS[_char]) return false;
5586
+ if (_char === DECIMAL_POINT) {
5587
+ decimalPointsAmount++;
5588
+ if (decimalPointsAmount === 2) {
5589
+ return false;
5590
+ }
5591
+ }
5592
+ }
5593
+ return true;
5594
+ };
5506
5595
  var TokenAmount = function TokenAmount(props) {
5507
5596
  var _ref$current2;
5508
5597
  var balance = props.balance,
@@ -5523,28 +5612,6 @@ var TokenAmount = function TokenAmount(props) {
5523
5612
  var _useState5 = React.useState(false),
5524
5613
  hoverSelect = _useState5[0],
5525
5614
  setHoverSelect = _useState5[1];
5526
- var handleKeyDown = function handleKeyDown(event) {
5527
- if (!ALLOWED_KEYS.includes(event.key) && !event.ctrlKey) {
5528
- event.preventDefault();
5529
- }
5530
- var isDecimalPoint = event.key === DECIMAL_POINT;
5531
- if (!isDecimalPoint) return;
5532
- // Ensure only one dot is allowed
5533
- var inputValue = event.target.value;
5534
- if (inputValue.includes(DECIMAL_POINT)) {
5535
- event.preventDefault();
5536
- }
5537
- // prohibit only one dot
5538
- if (inputValue.length === 0) {
5539
- event.preventDefault();
5540
- }
5541
- };
5542
- var handlePaste = function handlePaste(event) {
5543
- var paste = event.clipboardData.getData('text');
5544
- if (!/^[0-9.]+$/.test(paste)) {
5545
- event.preventDefault();
5546
- }
5547
- };
5548
5615
  var handleChange = function handleChange(amount) {
5549
5616
  if (onChangeAmount) {
5550
5617
  onChangeAmount(amount);
@@ -5634,11 +5701,10 @@ var TokenAmount = function TokenAmount(props) {
5634
5701
  className: "__ref-swap-widget-input-class",
5635
5702
  value: amount,
5636
5703
  type: "text",
5637
- onKeyDown: handleKeyDown,
5638
- onPaste: handlePaste,
5639
5704
  placeholder: !onChangeAmount ? '-' : '0.0',
5640
5705
  onChange: function onChange(_ref7) {
5641
5706
  var target = _ref7.target;
5707
+ if (!isValidInput(target.value)) return;
5642
5708
  target.setCustomValidity('');
5643
5709
  handleChange(target.value);
5644
5710
  },
@@ -8215,6 +8281,7 @@ exports.DCL_POOL_SPLITER = DCL_POOL_SPLITER;
8215
8281
  exports.DefaultMainnetTokenList = DefaultMainnetTokenList;
8216
8282
  exports.DefaultTestnetTokenList = DefaultTestnetTokenList;
8217
8283
  exports.FEE_DIVISOR = FEE_DIVISOR;
8284
+ exports.FT_MINIMUM_STORAGE_BALANCE_LARGE = FT_MINIMUM_STORAGE_BALANCE_LARGE;
8218
8285
  exports.InValidAccessKeyError = InValidAccessKeyError;
8219
8286
  exports.NEAR_META_DATA = NEAR_META_DATA;
8220
8287
  exports.NoAccountIdFound = NoAccountIdFound;
@@ -8285,6 +8352,7 @@ exports.getHybridStableSmart = getHybridStableSmart;
8285
8352
  exports.getKeyStore = getKeyStore;
8286
8353
  exports.getMax = getMax;
8287
8354
  exports.getMemorySigner = getMemorySigner;
8355
+ exports.getMinStorageBalance = getMinStorageBalance;
8288
8356
  exports.getPointByPrice = getPointByPrice;
8289
8357
  exports.getPool = getPool;
8290
8358
  exports.getPoolAllocationPercents = getPoolAllocationPercents;