@heliofi/launchpad-common 1.7.34 → 1.7.35

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.
Files changed (124) hide show
  1. package/dist/src/domain/constants/blockchain.d.ts +4 -2
  2. package/dist/src/domain/constants/blockchain.js +3 -0
  3. package/dist/src/domain/constants/blockchain.js.map +1 -1
  4. package/dist/src/domain/constants/chainId.d.ts +2 -0
  5. package/dist/src/domain/constants/chainId.js +5 -0
  6. package/dist/src/domain/constants/chainId.js.map +1 -1
  7. package/dist/src/domain/constants/currency.d.ts +1 -0
  8. package/dist/src/domain/constants/currency.js +4 -0
  9. package/dist/src/domain/constants/currency.js.map +1 -1
  10. package/dist/src/domain/constants/dex.d.ts +1 -0
  11. package/dist/src/domain/constants/dex.js +1 -0
  12. package/dist/src/domain/constants/dex.js.map +1 -1
  13. package/dist/src/domain/constants/feeFeature.d.ts +1 -0
  14. package/dist/src/domain/constants/feeFeature.js +1 -0
  15. package/dist/src/domain/constants/feeFeature.js.map +1 -1
  16. package/dist/src/domain/constants/index.d.ts +1 -0
  17. package/dist/src/domain/constants/index.js +1 -0
  18. package/dist/src/domain/constants/index.js.map +1 -1
  19. package/dist/src/domain/constants/migrationTarget.d.ts +4 -2
  20. package/dist/src/domain/constants/migrationTarget.js +6 -3
  21. package/dist/src/domain/constants/migrationTarget.js.map +1 -1
  22. package/dist/src/domain/constants/protocol.d.ts +1 -0
  23. package/dist/src/domain/constants/solMintAddress.d.ts +2 -0
  24. package/dist/src/domain/constants/solMintAddress.js +3 -1
  25. package/dist/src/domain/constants/solMintAddress.js.map +1 -1
  26. package/dist/src/domain/constants/wethAddress.d.ts +3 -0
  27. package/dist/src/domain/constants/wethAddress.js +32 -0
  28. package/dist/src/domain/constants/wethAddress.js.map +1 -0
  29. package/dist/src/domain/curves/FogoConstantProductCurveV1.d.ts +6 -0
  30. package/dist/src/domain/curves/FogoConstantProductCurveV1.js +31 -0
  31. package/dist/src/domain/curves/FogoConstantProductCurveV1.js.map +1 -0
  32. package/dist/src/domain/curves/getDefaultCurveByBlockchain.js +2 -1
  33. package/dist/src/domain/curves/getDefaultCurveByBlockchain.js.map +1 -1
  34. package/dist/src/domain/curves/index.d.ts +1 -0
  35. package/dist/src/domain/curves/index.js +1 -0
  36. package/dist/src/domain/curves/index.js.map +1 -1
  37. package/dist/src/domain/curves/tests/FogoConstantProductV1.spec.d.ts +1 -0
  38. package/dist/src/domain/curves/tests/FogoConstantProductV1.spec.js +125 -0
  39. package/dist/src/domain/curves/tests/FogoConstantProductV1.spec.js.map +1 -0
  40. package/dist/src/domain/curves/types.js +1 -0
  41. package/dist/src/domain/curves/types.js.map +1 -1
  42. package/dist/src/domain/model/index.d.ts +2 -0
  43. package/dist/src/domain/model/index.js +2 -0
  44. package/dist/src/domain/model/index.js.map +1 -1
  45. package/dist/src/domain/model/permission/Permission.d.ts +3 -1
  46. package/dist/src/domain/model/permission/Permission.js +2 -0
  47. package/dist/src/domain/model/permission/Permission.js.map +1 -1
  48. package/dist/src/domain/model/swap-evm/dtos/SwapEvmGetPrice.dto.d.ts +9 -0
  49. package/dist/src/domain/model/swap-evm/dtos/SwapEvmGetPrice.dto.js +61 -0
  50. package/dist/src/domain/model/swap-evm/dtos/SwapEvmGetPrice.dto.js.map +1 -0
  51. package/dist/src/domain/model/swap-evm/dtos/SwapEvmPrepare.dto.d.ts +10 -0
  52. package/dist/src/domain/model/swap-evm/dtos/SwapEvmPrepare.dto.js +57 -0
  53. package/dist/src/domain/model/swap-evm/dtos/SwapEvmPrepare.dto.js.map +1 -0
  54. package/dist/src/domain/model/swap-evm/dtos/SwapEvmSubmit.dto.d.ts +4 -0
  55. package/dist/src/domain/model/swap-evm/dtos/SwapEvmSubmit.dto.js +27 -0
  56. package/dist/src/domain/model/swap-evm/dtos/SwapEvmSubmit.dto.js.map +1 -0
  57. package/dist/src/domain/model/swap-evm/index.d.ts +5 -0
  58. package/dist/src/domain/model/{bundle/prepare → swap-evm}/index.js +5 -1
  59. package/dist/src/domain/model/swap-evm/index.js.map +1 -0
  60. package/dist/src/domain/model/swap-evm/responses/SwapEvmPrepare.response.d.ts +5 -0
  61. package/dist/src/domain/model/swap-evm/responses/SwapEvmPrepare.response.js +7 -0
  62. package/dist/src/domain/model/swap-evm/responses/SwapEvmPrepare.response.js.map +1 -0
  63. package/dist/src/domain/model/swap-evm/responses/SwapEvmSubmit.response.d.ts +5 -0
  64. package/dist/src/domain/model/swap-evm/responses/SwapEvmSubmit.response.js +7 -0
  65. package/dist/src/domain/model/swap-evm/responses/SwapEvmSubmit.response.js.map +1 -0
  66. package/dist/src/domain/model/tx-token-payload/SwapTxTokenPayload.d.ts +1 -0
  67. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapGetPrice.dto.d.ts +12 -0
  68. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapGetPrice.dto.js +70 -0
  69. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapGetPrice.dto.js.map +1 -0
  70. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapPrepare.dto.d.ts +18 -0
  71. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapPrepare.dto.js +97 -0
  72. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapPrepare.dto.js.map +1 -0
  73. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapSubmit.dto.d.ts +4 -0
  74. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapSubmit.dto.js +27 -0
  75. package/dist/src/domain/model/valiant-swap/dtos/ValiantSwapSubmit.dto.js.map +1 -0
  76. package/dist/src/domain/model/valiant-swap/dtos/index.d.ts +3 -0
  77. package/dist/src/domain/model/{bundle → valiant-swap/dtos}/index.js +3 -1
  78. package/dist/src/domain/model/valiant-swap/dtos/index.js.map +1 -0
  79. package/dist/src/domain/model/valiant-swap/entities/ValiantSwapPrepareResponse.entity.d.ts +4 -0
  80. package/dist/src/domain/model/valiant-swap/entities/ValiantSwapPrepareResponse.entity.js +27 -0
  81. package/dist/src/domain/model/valiant-swap/entities/ValiantSwapPrepareResponse.entity.js.map +1 -0
  82. package/dist/src/domain/model/valiant-swap/entities/ValiantSwapSubmitResponse.entity.d.ts +5 -0
  83. package/dist/src/domain/model/{wallet-balance/dtos/GetEvmBalanceRequest.dto.js → valiant-swap/entities/ValiantSwapSubmitResponse.entity.js} +7 -12
  84. package/dist/src/domain/model/valiant-swap/entities/ValiantSwapSubmitResponse.entity.js.map +1 -0
  85. package/dist/src/domain/model/valiant-swap/entities/index.d.ts +2 -0
  86. package/dist/src/domain/model/{bundle/prepare/dtos → valiant-swap/entities}/index.js +2 -1
  87. package/dist/src/domain/model/valiant-swap/entities/index.js.map +1 -0
  88. package/dist/src/domain/model/{wallet-balance → valiant-swap}/index.d.ts +1 -0
  89. package/dist/src/domain/model/{wallet-balance → valiant-swap}/index.js +1 -0
  90. package/dist/src/domain/model/valiant-swap/index.js.map +1 -0
  91. package/dist/src/domain/model/valiant-swap/types/index.d.ts +39 -0
  92. package/dist/src/domain/model/{rpc-abstraction/entities/RpcResponse.entity.js → valiant-swap/types/index.js} +1 -1
  93. package/dist/src/domain/model/valiant-swap/types/index.js.map +1 -0
  94. package/dist/src/utils/index.d.ts +1 -0
  95. package/dist/src/utils/index.js +1 -0
  96. package/dist/src/utils/index.js.map +1 -1
  97. package/dist/src/utils/isSVMBlockchain.d.ts +2 -0
  98. package/dist/src/utils/isSVMBlockchain.js +9 -0
  99. package/dist/src/utils/isSVMBlockchain.js.map +1 -0
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +2 -2
  102. package/dist/src/domain/model/bundle/index.d.ts +0 -1
  103. package/dist/src/domain/model/bundle/index.js.map +0 -1
  104. package/dist/src/domain/model/bundle/prepare/dtos/BundleMintWithMetadata.dto.d.ts +0 -3
  105. package/dist/src/domain/model/bundle/prepare/dtos/BundleMintWithMetadata.dto.js +0 -8
  106. package/dist/src/domain/model/bundle/prepare/dtos/BundleMintWithMetadata.dto.js.map +0 -1
  107. package/dist/src/domain/model/bundle/prepare/dtos/index.d.ts +0 -1
  108. package/dist/src/domain/model/bundle/prepare/dtos/index.js.map +0 -1
  109. package/dist/src/domain/model/bundle/prepare/index.d.ts +0 -1
  110. package/dist/src/domain/model/bundle/prepare/index.js.map +0 -1
  111. package/dist/src/domain/model/rpc-abstraction/entities/RpcResponse.entity.d.ts +0 -24
  112. package/dist/src/domain/model/rpc-abstraction/entities/RpcResponse.entity.js.map +0 -1
  113. package/dist/src/domain/model/wallet-balance/dtos/GetEvmBalanceRequest.dto.d.ts +0 -6
  114. package/dist/src/domain/model/wallet-balance/dtos/GetEvmBalanceRequest.dto.js.map +0 -1
  115. package/dist/src/domain/model/wallet-balance/dtos/index.d.ts +0 -1
  116. package/dist/src/domain/model/wallet-balance/dtos/index.js +0 -18
  117. package/dist/src/domain/model/wallet-balance/dtos/index.js.map +0 -1
  118. package/dist/src/domain/model/wallet-balance/entities/EvmBalanceResponse.entity.d.ts +0 -6
  119. package/dist/src/domain/model/wallet-balance/entities/EvmBalanceResponse.entity.js +0 -3
  120. package/dist/src/domain/model/wallet-balance/entities/EvmBalanceResponse.entity.js.map +0 -1
  121. package/dist/src/domain/model/wallet-balance/entities/index.d.ts +0 -1
  122. package/dist/src/domain/model/wallet-balance/entities/index.js +0 -18
  123. package/dist/src/domain/model/wallet-balance/entities/index.js.map +0 -1
  124. package/dist/src/domain/model/wallet-balance/index.js.map +0 -1
@@ -8,11 +8,13 @@ export declare enum BlockchainSymbol {
8
8
  SONIC = "SONIC",
9
9
  ABSTRACT = "ABSTRACT",
10
10
  BERA = "BERA",
11
- FOGO = "FOGO"
11
+ FOGO = "FOGO",
12
+ BSC = "BSC"
12
13
  }
13
14
  export declare enum DexScreenerBlockchainSymbol {
14
15
  SOLANA = "solana",
15
- ABSTRACT = "abstract"
16
+ ABSTRACT = "abstract",
17
+ FOGO = "fogo"
16
18
  }
17
19
  export declare enum BlockchainEngineType {
18
20
  EVM = "EVM",
@@ -17,11 +17,13 @@ var BlockchainSymbol;
17
17
  BlockchainSymbol["ABSTRACT"] = "ABSTRACT";
18
18
  BlockchainSymbol["BERA"] = "BERA";
19
19
  BlockchainSymbol["FOGO"] = "FOGO";
20
+ BlockchainSymbol["BSC"] = "BSC";
20
21
  })(BlockchainSymbol || (exports.BlockchainSymbol = BlockchainSymbol = {}));
21
22
  var DexScreenerBlockchainSymbol;
22
23
  (function (DexScreenerBlockchainSymbol) {
23
24
  DexScreenerBlockchainSymbol["SOLANA"] = "solana";
24
25
  DexScreenerBlockchainSymbol["ABSTRACT"] = "abstract";
26
+ DexScreenerBlockchainSymbol["FOGO"] = "fogo";
25
27
  })(DexScreenerBlockchainSymbol || (exports.DexScreenerBlockchainSymbol = DexScreenerBlockchainSymbol = {}));
26
28
  var BlockchainEngineType;
27
29
  (function (BlockchainEngineType) {
@@ -41,6 +43,7 @@ exports.blockchainEngineMap = new Map([
41
43
  [BlockchainSymbol.ABSTRACT, BlockchainEngineType.EVM],
42
44
  [BlockchainSymbol.BERA, BlockchainEngineType.EVM],
43
45
  [BlockchainSymbol.FOGO, BlockchainEngineType.SVM],
46
+ [BlockchainSymbol.BSC, BlockchainEngineType.EVM],
44
47
  ]);
45
48
  function getBlockchainEngineType(symbol) {
46
49
  return exports.blockchainEngineMap.get(symbol);
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/domain/constants/blockchain.ts"],"names":[],"mappings":";;;AAyCA,0DAIC;AAED,gCAMC;AAED,gCAEC;AAED,4DAEC;AA7DD,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,+BAAW,CAAA;IACX,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iCAAa,CAAA;IACb,iCAAa,CAAA;AACf,CAAC,EAXW,gBAAgB,gCAAhB,gBAAgB,QAW3B;AAED,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,gDAAiB,CAAA;IACjB,oDAAqB,CAAA;AACvB,CAAC,EAHW,2BAA2B,2CAA3B,2BAA2B,QAGtC;AAED,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,mCAAW,CAAA;IACX,mCAAW,CAAA;IACX,mCAAW,CAAA;AACb,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAEY,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAGxC;IACA,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAChD,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAChD,CAAC,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACpD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACjD,CAAC,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACpD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACrD,CAAC,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAClD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACrD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACjD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;CAClD,CAAC,CAAC;AAEH,SAAgB,uBAAuB,CACrC,MAAwB;IAExB,OAAO,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAwB;IACjD,MAAM,UAAU,GAAG,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,CACL,UAAU,KAAK,oBAAoB,CAAC,GAAG;QACvC,UAAU,KAAK,oBAAoB,CAAC,GAAG,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,MAAwB;IACjD,OAAO,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC,GAAG,CAAC;AACtE,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/domain/constants/blockchain.ts"],"names":[],"mappings":";;;AA4CA,0DAIC;AAED,gCAMC;AAED,gCAEC;AAED,4DAEC;AAhED,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,+BAAW,CAAA;IACX,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAZW,gBAAgB,gCAAhB,gBAAgB,QAY3B;AAED,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,gDAAiB,CAAA;IACjB,oDAAqB,CAAA;IACrB,4CAAa,CAAA;AACf,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAED,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,mCAAW,CAAA;IACX,mCAAW,CAAA;IACX,mCAAW,CAAA;AACb,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AAEY,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAGxC;IACA,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAChD,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAChD,CAAC,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACpD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACjD,CAAC,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACpD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACrD,CAAC,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAClD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACrD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACjD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACjD,CAAC,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACjD,CAAC,CAAC;AAEH,SAAgB,uBAAuB,CACrC,MAAwB;IAExB,OAAO,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAwB;IACjD,MAAM,UAAU,GAAG,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,CACL,UAAU,KAAK,oBAAoB,CAAC,GAAG;QACvC,UAAU,KAAK,oBAAoB,CAAC,GAAG,CACxC,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,MAAwB;IACjD,OAAO,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC,GAAG,CAAC;AACtE,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC;AAC9B,CAAC"}
@@ -6,6 +6,8 @@ export declare enum ChainId {
6
6
  UNICHAIN = 10000,
7
7
  ETHEREUM = 1,
8
8
  ETHEREUM_SEPOLIA = 11155111,
9
+ BSC = 56,
10
+ BSC_TESTNET = 97,
9
11
  SONIC = 146,
10
12
  SONIC_BLAZE = 57054,
11
13
  ABSTRACT = 2741,
@@ -11,6 +11,8 @@ var ChainId;
11
11
  ChainId[ChainId["UNICHAIN"] = 10000] = "UNICHAIN";
12
12
  ChainId[ChainId["ETHEREUM"] = 1] = "ETHEREUM";
13
13
  ChainId[ChainId["ETHEREUM_SEPOLIA"] = 11155111] = "ETHEREUM_SEPOLIA";
14
+ ChainId[ChainId["BSC"] = 56] = "BSC";
15
+ ChainId[ChainId["BSC_TESTNET"] = 97] = "BSC_TESTNET";
14
16
  ChainId[ChainId["SONIC"] = 146] = "SONIC";
15
17
  ChainId[ChainId["SONIC_BLAZE"] = 57054] = "SONIC_BLAZE";
16
18
  ChainId[ChainId["ABSTRACT"] = 2741] = "ABSTRACT";
@@ -38,6 +40,9 @@ function getBlockchainSymbolByChainId(chainId) {
38
40
  case ChainId.BERA:
39
41
  case ChainId.BERA_BARTIO:
40
42
  return blockchain_1.BlockchainSymbol.BERA;
43
+ case ChainId.BSC:
44
+ case ChainId.BSC_TESTNET:
45
+ return blockchain_1.BlockchainSymbol.BSC;
41
46
  default:
42
47
  throw new Error(`Unsupported chain ID: ${chainId}`);
43
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chainId.js","sourceRoot":"","sources":["../../../../src/domain/constants/chainId.ts"],"names":[],"mappings":";;;AAiBA,oEA+BC;AAhDD,6CAAgD;AAEhD,IAAY,OAaX;AAbD,WAAY,OAAO;IACjB,yDAAoB,CAAA;IACpB,wCAAW,CAAA;IACX,gEAAuB,CAAA;IACvB,iDAAgB,CAAA;IAChB,6CAAY,CAAA;IACZ,oEAA2B,CAAA;IAC3B,yCAAW,CAAA;IACX,uDAAmB,CAAA;IACnB,gDAAe,CAAA;IACf,iEAAwB,CAAA;IACxB,yCAAY,CAAA;IACZ,uDAAmB,CAAA;AACrB,CAAC,EAbW,OAAO,uBAAP,OAAO,QAalB;AAED,SAAgB,4BAA4B,CAC1C,OAAgB;IAEhB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,GAAG,CAAC;QAE9B,KAAK,OAAO,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO,CAAC,YAAY;YACvB,OAAO,6BAAgB,CAAC,IAAI,CAAC;QAE/B,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,QAAQ,CAAC;QAEnC,KAAK,OAAO,CAAC,KAAK,CAAC;QACnB,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,6BAAgB,CAAC,KAAK,CAAC;QAEhC,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,QAAQ,CAAC;QAEnC,KAAK,OAAO,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,6BAAgB,CAAC,IAAI,CAAC;QAE/B;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"chainId.js","sourceRoot":"","sources":["../../../../src/domain/constants/chainId.ts"],"names":[],"mappings":";;;AAmBA,oEAmCC;AAtDD,6CAAgD;AAEhD,IAAY,OAeX;AAfD,WAAY,OAAO;IACjB,yDAAoB,CAAA;IACpB,wCAAW,CAAA;IACX,gEAAuB,CAAA;IACvB,iDAAgB,CAAA;IAChB,6CAAY,CAAA;IACZ,oEAA2B,CAAA;IAC3B,oCAAQ,CAAA;IACR,oDAAgB,CAAA;IAChB,yCAAW,CAAA;IACX,uDAAmB,CAAA;IACnB,gDAAe,CAAA;IACf,iEAAwB,CAAA;IACxB,yCAAY,CAAA;IACZ,uDAAmB,CAAA;AACrB,CAAC,EAfW,OAAO,uBAAP,OAAO,QAelB;AAED,SAAgB,4BAA4B,CAC1C,OAAgB;IAEhB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,GAAG,CAAC;QAE9B,KAAK,OAAO,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO,CAAC,YAAY;YACvB,OAAO,6BAAgB,CAAC,IAAI,CAAC;QAE/B,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,QAAQ,CAAC;QAEnC,KAAK,OAAO,CAAC,KAAK,CAAC;QACnB,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,6BAAgB,CAAC,KAAK,CAAC;QAEhC,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,6BAAgB,CAAC,QAAQ,CAAC;QAEnC,KAAK,OAAO,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,6BAAgB,CAAC,IAAI,CAAC;QAE/B,KAAK,OAAO,CAAC,GAAG,CAAC;QACjB,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,6BAAgB,CAAC,GAAG,CAAC;QAE9B;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -5,6 +5,7 @@ export declare enum CurrencyType {
5
5
  }
6
6
  export declare enum DefaultCurrencies {
7
7
  SOL = "SOL",
8
+ FOGO = "FOGO",
8
9
  ETH = "ETH",
9
10
  S = "S"
10
11
  }
@@ -10,6 +10,7 @@ var CurrencyType;
10
10
  var DefaultCurrencies;
11
11
  (function (DefaultCurrencies) {
12
12
  DefaultCurrencies["SOL"] = "SOL";
13
+ DefaultCurrencies["FOGO"] = "FOGO";
13
14
  DefaultCurrencies["ETH"] = "ETH";
14
15
  DefaultCurrencies["S"] = "S";
15
16
  })(DefaultCurrencies || (exports.DefaultCurrencies = DefaultCurrencies = {}));
@@ -17,6 +18,9 @@ const toDefaultCurrency = (currency) => {
17
18
  if (currency === 'SOL') {
18
19
  return DefaultCurrencies.SOL;
19
20
  }
21
+ if (currency === 'FOGO') {
22
+ return DefaultCurrencies.FOGO;
23
+ }
20
24
  if (currency === 'ETH') {
21
25
  return DefaultCurrencies.ETH;
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/domain/constants/currency.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,4BAAO,CAAA;AACT,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAEM,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAqB,EAAE;IACvE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,iBAAiB,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B;AAEK,MAAM,4BAA4B,GAAG,CAC1C,KAAuB,EACQ,EAAE;IACjC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,6BAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,OAAO,iBAAiB,CAAC,GAAG,CAAC;QAC/B,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,4BAA4B,gCAUvC"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/domain/constants/currency.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;AACrB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,4BAAO,CAAA;AACT,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAEM,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAqB,EAAE;IACvE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,iBAAiB,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,mBAAmB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAdW,QAAA,iBAAiB,qBAc5B;AAEK,MAAM,4BAA4B,GAAG,CAC1C,KAAuB,EACQ,EAAE;IACjC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,6BAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,OAAO,iBAAiB,CAAC,GAAG,CAAC;QAC/B,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,4BAA4B,gCAUvC"}
@@ -7,5 +7,6 @@ export declare enum Dex {
7
7
  ORCA = "ORCA",
8
8
  UNISWAP = "UNISWAP",
9
9
  AERODROME = "AERODROME",
10
+ PANCAKESWAP = "PANCAKESWAP",
10
11
  VALIANT = "VALIANT"
11
12
  }
@@ -11,6 +11,7 @@ var Dex;
11
11
  Dex["ORCA"] = "ORCA";
12
12
  Dex["UNISWAP"] = "UNISWAP";
13
13
  Dex["AERODROME"] = "AERODROME";
14
+ Dex["PANCAKESWAP"] = "PANCAKESWAP";
14
15
  Dex["VALIANT"] = "VALIANT";
15
16
  })(Dex || (exports.Dex = Dex = {}));
16
17
  //# sourceMappingURL=dex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dex.js","sourceRoot":"","sources":["../../../../src/domain/constants/dex.ts"],"names":[],"mappings":";;;AAAA,IAAY,GAUX;AAVD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,gDAAyC,CAAA;IACzC,0BAAmB,CAAA;IACnB,0BAAmB,CAAA;IACnB,4BAAqB,CAAA;IACrB,oBAAa,CAAA;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,0BAAmB,CAAA;AACrB,CAAC,EAVW,GAAG,mBAAH,GAAG,QAUd"}
1
+ {"version":3,"file":"dex.js","sourceRoot":"","sources":["../../../../src/domain/constants/dex.ts"],"names":[],"mappings":";;;AAAA,IAAY,GAWX;AAXD,WAAY,GAAG;IACb,0BAAmB,CAAA;IACnB,gDAAyC,CAAA;IACzC,0BAAmB,CAAA;IACnB,0BAAmB,CAAA;IACnB,4BAAqB,CAAA;IACrB,oBAAa,CAAA;IACb,0BAAmB,CAAA;IACnB,8BAAuB,CAAA;IACvB,kCAA2B,CAAA;IAC3B,0BAAmB,CAAA;AACrB,CAAC,EAXW,GAAG,mBAAH,GAAG,QAWd"}
@@ -2,6 +2,7 @@ export declare enum FeeFeature {
2
2
  RAYDIUM = "RAYDIUM",
3
3
  RAYDIUM_LAUNCHLABS = "RAYDIUM_LAUNCHLABS",
4
4
  METEORA = "METEORA",
5
+ VALIANT = "VALIANT",
5
6
  UNISWAP = "UNISWAP",
6
7
  PUMPFUN = "PUMPFUN",
7
8
  PUMPDEX = "PUMPDEX",
@@ -6,6 +6,7 @@ var FeeFeature;
6
6
  FeeFeature["RAYDIUM"] = "RAYDIUM";
7
7
  FeeFeature["RAYDIUM_LAUNCHLABS"] = "RAYDIUM_LAUNCHLABS";
8
8
  FeeFeature["METEORA"] = "METEORA";
9
+ FeeFeature["VALIANT"] = "VALIANT";
9
10
  FeeFeature["UNISWAP"] = "UNISWAP";
10
11
  FeeFeature["PUMPFUN"] = "PUMPFUN";
11
12
  FeeFeature["PUMPDEX"] = "PUMPDEX";
@@ -1 +1 @@
1
- {"version":3,"file":"feeFeature.js","sourceRoot":"","sources":["../../../../src/domain/constants/feeFeature.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,uDAAyC,CAAA;IACzC,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;AACzB,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB"}
1
+ {"version":3,"file":"feeFeature.js","sourceRoot":"","sources":["../../../../src/domain/constants/feeFeature.ts"],"names":[],"mappings":";;;AAAA,IAAY,UASX;AATD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,uDAAyC,CAAA;IACzC,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;AACzB,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB"}
@@ -23,6 +23,7 @@ export * from './feeReceiverType';
23
23
  export * from './meteoraFees';
24
24
  export * from './solanaNetwork';
25
25
  export * from './chainId';
26
+ export * from './wethAddress';
26
27
  export * from './airlockEventState';
27
28
  export * from './feeFeature';
28
29
  export * from './pumpFun';
@@ -39,6 +39,7 @@ __exportStar(require("./feeReceiverType"), exports);
39
39
  __exportStar(require("./meteoraFees"), exports);
40
40
  __exportStar(require("./solanaNetwork"), exports);
41
41
  __exportStar(require("./chainId"), exports);
42
+ __exportStar(require("./wethAddress"), exports);
42
43
  __exportStar(require("./airlockEventState"), exports);
43
44
  __exportStar(require("./feeFeature"), exports);
44
45
  __exportStar(require("./pumpFun"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAC3B,2DAAyC;AACzC,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,oDAAkC;AAClC,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,mDAAiC;AACjC,iDAA+B;AAC/B,8CAA4B;AAC5B,oDAAkC;AAClC,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,4CAA0B;AAC1B,sDAAoC;AACpC,+CAA6B;AAC7B,4CAA0B;AAC1B,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,4DAA0C;AAC1C,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAC3B,2DAAyC;AACzC,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,6CAA2B;AAC3B,2CAAyB;AACzB,4DAA0C;AAC1C,0CAAwB;AACxB,oDAAkC;AAClC,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,mDAAiC;AACjC,iDAA+B;AAC/B,8CAA4B;AAC5B,oDAAkC;AAClC,oDAAkC;AAClC,gDAA8B;AAC9B,kDAAgC;AAChC,4CAA0B;AAC1B,gDAA8B;AAC9B,sDAAoC;AACpC,+CAA6B;AAC7B,4CAA0B;AAC1B,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,4DAA0C;AAC1C,mDAAiC"}
@@ -5,12 +5,14 @@ export declare enum MigrationTarget {
5
5
  UNISWAP = 3,
6
6
  AERODROME = 4
7
7
  }
8
+ export declare enum MigrationTargetFogo {
9
+ VALIANT = 0
10
+ }
8
11
  export declare const migrationDexToTarget: {
9
12
  RAYDIUM: MigrationTarget;
10
13
  METEORA: MigrationTarget;
11
14
  METEORA_V2: MigrationTarget;
12
- UNISWAP: MigrationTarget;
13
- AERODROME: MigrationTarget;
15
+ VALIANT: MigrationTargetFogo;
14
16
  };
15
17
  export declare enum EvmMigrationTarget {
16
18
  UNISWAP_V2 = 0,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.migrationTargetToEvmTarget = exports.evmMigrationTargetToDex = exports.EvmMigrationTarget = exports.migrationDexToTarget = exports.MigrationTarget = void 0;
3
+ exports.migrationTargetToEvmTarget = exports.evmMigrationTargetToDex = exports.EvmMigrationTarget = exports.migrationDexToTarget = exports.MigrationTargetFogo = exports.MigrationTarget = void 0;
4
4
  const migrationDex_1 = require("./migrationDex");
5
5
  var MigrationTarget;
6
6
  (function (MigrationTarget) {
@@ -10,12 +10,15 @@ var MigrationTarget;
10
10
  MigrationTarget[MigrationTarget["UNISWAP"] = 3] = "UNISWAP";
11
11
  MigrationTarget[MigrationTarget["AERODROME"] = 4] = "AERODROME";
12
12
  })(MigrationTarget || (exports.MigrationTarget = MigrationTarget = {}));
13
+ var MigrationTargetFogo;
14
+ (function (MigrationTargetFogo) {
15
+ MigrationTargetFogo[MigrationTargetFogo["VALIANT"] = 0] = "VALIANT";
16
+ })(MigrationTargetFogo || (exports.MigrationTargetFogo = MigrationTargetFogo = {}));
13
17
  exports.migrationDexToTarget = {
14
18
  [migrationDex_1.MigrationDex.RAYDIUM]: MigrationTarget.RAYDIUM,
15
19
  [migrationDex_1.MigrationDex.METEORA]: MigrationTarget.METEORA,
16
20
  [migrationDex_1.MigrationDex.METEORA_V2]: MigrationTarget.METEORA,
17
- [migrationDex_1.MigrationDex.UNISWAP]: MigrationTarget.UNISWAP,
18
- [migrationDex_1.MigrationDex.AERODROME]: MigrationTarget.AERODROME,
21
+ [migrationDex_1.MigrationDex.VALIANT]: MigrationTargetFogo.VALIANT,
19
22
  };
20
23
  var EvmMigrationTarget;
21
24
  (function (EvmMigrationTarget) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrationTarget.js","sourceRoot":"","sources":["../../../../src/domain/constants/migrationTarget.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,2DAAW,CAAA;IACX,2DAAW,CAAA;IACX,iEAAc,CAAA;IACd,2DAAW,CAAA;IACX,+DAAa,CAAA;AACf,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAEY,QAAA,oBAAoB,GAAG;IAClC,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO;IAC/C,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO;IAC/C,CAAC,2BAAY,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,OAAO;IAClD,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO;IAC/C,CAAC,2BAAY,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,SAAS;CACpD,CAAC;AAEF,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uEAAc,CAAA;IACd,qEAAa,CAAA;AACf,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAEY,QAAA,uBAAuB,GAAG;IACrC,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU;IACrD,CAAC,2BAAY,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;CACvD,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU;IACxD,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;CAC1D,CAAC"}
1
+ {"version":3,"file":"migrationTarget.js","sourceRoot":"","sources":["../../../../src/domain/constants/migrationTarget.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,2DAAW,CAAA;IACX,2DAAW,CAAA;IACX,iEAAc,CAAA;IACd,2DAAW,CAAA;IACX,+DAAa,CAAA;AACf,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;AACb,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAEY,QAAA,oBAAoB,GAAG;IAClC,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO;IAC/C,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO;IAC/C,CAAC,2BAAY,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,OAAO;IAClD,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO;CACpD,CAAC;AAEF,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uEAAc,CAAA;IACd,qEAAa,CAAA;AACf,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAEY,QAAA,uBAAuB,GAAG;IACrC,CAAC,2BAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU;IACrD,CAAC,2BAAY,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;CACvD,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,UAAU;IACxD,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;CAC1D,CAAC"}
@@ -2,3 +2,4 @@ export declare enum ProtocolType {
2
2
  UNISWAP = "uniswap",
3
3
  AERODROME = "aerodrome"
4
4
  }
5
+ export type DexProtocolVersion = string;
@@ -1,5 +1,7 @@
1
1
  export declare const SOL_MINT = "11111111111111111111111111111111";
2
2
  export declare const WRAPPED_SOL_MINT = "So11111111111111111111111111111111111111112";
3
+ export declare const FOGO_MINT = "11111111111111111111111111111111";
4
+ export declare const WRAPPED_FOGO_MINT = "So11111111111111111111111111111111111111112";
3
5
  export declare const SOLANA_USDC_MAINNET_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
4
6
  export declare const SOLANA_USDC_DEVNET_MINT = "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU";
5
7
  export declare const ETH_DB_MINT_PLACEHOLDER = "0x";
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ETH_DB_MINT_PLACEHOLDER = exports.SOLANA_USDC_DEVNET_MINT = exports.SOLANA_USDC_MAINNET_MINT = exports.WRAPPED_SOL_MINT = exports.SOL_MINT = void 0;
3
+ exports.ETH_DB_MINT_PLACEHOLDER = exports.SOLANA_USDC_DEVNET_MINT = exports.SOLANA_USDC_MAINNET_MINT = exports.WRAPPED_FOGO_MINT = exports.FOGO_MINT = exports.WRAPPED_SOL_MINT = exports.SOL_MINT = void 0;
4
4
  exports.SOL_MINT = '11111111111111111111111111111111';
5
5
  exports.WRAPPED_SOL_MINT = 'So11111111111111111111111111111111111111112';
6
+ exports.FOGO_MINT = exports.SOL_MINT;
7
+ exports.WRAPPED_FOGO_MINT = exports.WRAPPED_SOL_MINT;
6
8
  exports.SOLANA_USDC_MAINNET_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
7
9
  exports.SOLANA_USDC_DEVNET_MINT = '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU';
8
10
  exports.ETH_DB_MINT_PLACEHOLDER = '0x';
@@ -1 +1 @@
1
- {"version":3,"file":"solMintAddress.js","sourceRoot":"","sources":["../../../../src/domain/constants/solMintAddress.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC;AAC9C,QAAA,gBAAgB,GAAG,6CAA6C,CAAC;AAEjE,QAAA,wBAAwB,GACnC,8CAA8C,CAAC;AACpC,QAAA,uBAAuB,GAClC,8CAA8C,CAAC;AAEpC,QAAA,uBAAuB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"solMintAddress.js","sourceRoot":"","sources":["../../../../src/domain/constants/solMintAddress.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC;AAC9C,QAAA,gBAAgB,GAAG,6CAA6C,CAAC;AAEjE,QAAA,SAAS,GAAG,gBAAQ,CAAC;AACrB,QAAA,iBAAiB,GAAG,wBAAgB,CAAC;AAErC,QAAA,wBAAwB,GACnC,8CAA8C,CAAC;AACpC,QAAA,uBAAuB,GAClC,8CAA8C,CAAC;AAEpC,QAAA,uBAAuB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ChainId } from './chainId';
2
+ export declare function getWethAddressByChainId(chainId: ChainId): string;
3
+ export declare function hasWethAddress(chainId: ChainId): boolean;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWethAddressByChainId = getWethAddressByChainId;
4
+ exports.hasWethAddress = hasWethAddress;
5
+ const chainId_1 = require("./chainId");
6
+ const WETH_ADDRESSES = {
7
+ [chainId_1.ChainId.ETHEREUM]: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
8
+ [chainId_1.ChainId.ETHEREUM_SEPOLIA]: '0xfFf9976782d46CC05630D1f6ebaB18b2324d6B14',
9
+ [chainId_1.ChainId.BASE]: '0x4200000000000000000000000000000000000006',
10
+ [chainId_1.ChainId.BASE_SEPOLIA]: '0x4200000000000000000000000000000000000006',
11
+ [chainId_1.ChainId.UNICHAIN]: '0x4200000000000000000000000000000000000006',
12
+ [chainId_1.ChainId.UNICHAIN_SEPOLIA]: '0x4200000000000000000000000000000000000006',
13
+ [chainId_1.ChainId.SONIC]: '0x50c42dEAcD8Fc9773493ED674b675bE577f2634b',
14
+ [chainId_1.ChainId.SONIC_BLAZE]: '0x50c42dEAcD8Fc9773493ED674b675bE577f2634b',
15
+ [chainId_1.ChainId.ABSTRACT]: '0x4200000000000000000000000000000000000006',
16
+ [chainId_1.ChainId.ABSTRACT_TESTNET]: '0x4200000000000000000000000000000000000006',
17
+ [chainId_1.ChainId.BERA]: '0x4200000000000000000000000000000000000006',
18
+ [chainId_1.ChainId.BERA_BARTIO]: '0x6E1E9896e93F7A71ECB33d4386b49DeeD67a231A',
19
+ [chainId_1.ChainId.BSC]: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
20
+ [chainId_1.ChainId.BSC_TESTNET]: '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd',
21
+ };
22
+ function getWethAddressByChainId(chainId) {
23
+ const address = WETH_ADDRESSES[chainId];
24
+ if (!address) {
25
+ throw new Error(`WETH address not found for chain ID: ${chainId}. Please add the WETH address to the WETH_ADDRESSES mapping.`);
26
+ }
27
+ return address;
28
+ }
29
+ function hasWethAddress(chainId) {
30
+ return chainId in WETH_ADDRESSES;
31
+ }
32
+ //# sourceMappingURL=wethAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wethAddress.js","sourceRoot":"","sources":["../../../../src/domain/constants/wethAddress.ts"],"names":[],"mappings":";;AAiDA,0DAUC;AAQD,wCAEC;AArED,uCAAoC;AAYpC,MAAM,cAAc,GAA4B;IAE9C,CAAC,iBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAGhE,CAAC,iBAAO,CAAC,gBAAgB,CAAC,EAAE,4CAA4C;IAGxE,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,4CAA4C;IAC5D,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,4CAA4C;IAGpE,CAAC,iBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,iBAAO,CAAC,gBAAgB,CAAC,EAAE,4CAA4C;IAGxE,CAAC,iBAAO,CAAC,KAAK,CAAC,EAAE,4CAA4C;IAC7D,CAAC,iBAAO,CAAC,WAAW,CAAC,EAAE,4CAA4C;IAGnE,CAAC,iBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,iBAAO,CAAC,gBAAgB,CAAC,EAAE,4CAA4C;IAGxE,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,4CAA4C;IAC5D,CAAC,iBAAO,CAAC,WAAW,CAAC,EAAE,4CAA4C;IAGnE,CAAC,iBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;IAC3D,CAAC,iBAAO,CAAC,WAAW,CAAC,EAAE,4CAA4C;CACpE,CAAC;AAOF,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,wCAAwC,OAAO,8DAA8D,CAC9G,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,SAAgB,cAAc,CAAC,OAAgB;IAC7C,OAAO,OAAO,IAAI,cAAc,CAAC;AACnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ConstantProductCurve } from './ConstantProductCurve';
2
+ export declare class FogoConstantProductCurveV1 extends ConstantProductCurve {
3
+ dynamicThreshold: number;
4
+ maxThreshold: number;
5
+ constructor();
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FogoConstantProductCurveV1 = void 0;
4
+ const constants_1 = require("../constants");
5
+ const ConstantProductCurve_1 = require("./ConstantProductCurve");
6
+ class FogoConstantProductCurveV1 extends ConstantProductCurve_1.ConstantProductCurve {
7
+ constructor() {
8
+ super();
9
+ this.dynamicThreshold = 80;
10
+ this.maxThreshold = 82;
11
+ this.initialVirtualTokenReserves = 1073000000000000000n;
12
+ this.initialVirtualCollateralReserves = 27000000000000n;
13
+ this.collateralDecimals = 9;
14
+ this.constantProduct =
15
+ this.initialVirtualTokenReserves * this.initialVirtualCollateralReserves;
16
+ this.curveDefaults = {
17
+ type: constants_1.CurveType.CONSTANT_PRODUCT_V1,
18
+ totalSupply: BigInt(1e18),
19
+ tokenDecimals: 9,
20
+ minAllocationTokenAmount: (BigInt(1e18) * BigInt(this.dynamicThreshold)) / 100n,
21
+ maxAllocationTokenAmount: (BigInt(1e18) * BigInt(this.maxThreshold)) / 100n,
22
+ address: '11111111111111111111111111111111',
23
+ };
24
+ this.marketCapToMinimalTokens = new Map([
25
+ [310500000000000n, 799820983207377563n],
26
+ [18000000000000n, 336771070066174569n],
27
+ ]);
28
+ }
29
+ }
30
+ exports.FogoConstantProductCurveV1 = FogoConstantProductCurveV1;
31
+ //# sourceMappingURL=FogoConstantProductCurveV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FogoConstantProductCurveV1.js","sourceRoot":"","sources":["../../../../src/domain/curves/FogoConstantProductCurveV1.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,iEAA8D;AAE9D,MAAa,0BAA2B,SAAQ,2CAAoB;IAKlE;QACE,KAAK,EAAE,CAAC;QALV,qBAAgB,GAAG,EAAE,CAAC;QAEtB,iBAAY,GAAG,EAAE,CAAC;QAKhB,IAAI,CAAC,2BAA2B,GAAG,oBAA0B,CAAC;QAC9D,IAAI,CAAC,gCAAgC,GAAG,eAAmB,CAAC;QAC5D,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,gCAAgC,CAAC;QAE3E,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,EAAE,qBAAS,CAAC,mBAAmB;YACnC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC;YACzB,aAAa,EAAE,CAAC;YAChB,wBAAwB,EACtB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI;YACvD,wBAAwB,EACtB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;YACnD,OAAO,EAAE,kCAAkC;SACnC,CAAC;QAEX,IAAI,CAAC,wBAAwB,GAAG,IAAI,GAAG,CAAC;YACtC,CAAC,gBAAoB,EAAE,mBAAwB,CAAC;YAChD,CAAC,eAAmB,EAAE,mBAAwB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;CACF;AA9BD,gEA8BC"}
@@ -12,7 +12,8 @@ const getDefaultCurveByBlockchain = (symbol) => {
12
12
  }
13
13
  if (symbol === constants_1.BlockchainSymbol.ETH ||
14
14
  symbol === constants_1.BlockchainSymbol.BASE ||
15
- symbol === constants_1.BlockchainSymbol.ABSTRACT) {
15
+ symbol === constants_1.BlockchainSymbol.ABSTRACT ||
16
+ symbol === constants_1.BlockchainSymbol.BSC) {
16
17
  return new EvmConstantProductCurveV1_1.EvmConstantProductCurveV1();
17
18
  }
18
19
  if (symbol === constants_1.BlockchainSymbol.BERA) {
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultCurveByBlockchain.js","sourceRoot":"","sources":["../../../../src/domain/curves/getDefaultCurveByBlockchain.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAC5D,qEAAkE;AAClE,2EAAwE;AACxE,+EAA4E;AAC5E,6EAA0E;AAEnE,MAAM,2BAA2B,GAAG,CACzC,MAAwB,EAKK,EAAE;IAC/B,IAAI,IAAA,sBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,+CAAsB,EAAE,CAAC;IACtC,CAAC;IAED,IACE,MAAM,KAAK,4BAAgB,CAAC,GAAG;QAC/B,MAAM,KAAK,4BAAgB,CAAC,IAAI;QAChC,MAAM,KAAK,4BAAgB,CAAC,QAAQ,EACpC,CAAC;QACD,OAAO,IAAI,qDAAyB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,KAAK,4BAAgB,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,KAAK,4BAAgB,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,yDAA2B,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AA5BW,QAAA,2BAA2B,+BA4BtC"}
1
+ {"version":3,"file":"getDefaultCurveByBlockchain.js","sourceRoot":"","sources":["../../../../src/domain/curves/getDefaultCurveByBlockchain.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAC5D,qEAAkE;AAClE,2EAAwE;AACxE,+EAA4E;AAC5E,6EAA0E;AAEnE,MAAM,2BAA2B,GAAG,CACzC,MAAwB,EAKK,EAAE;IAC/B,IAAI,IAAA,sBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,+CAAsB,EAAE,CAAC;IACtC,CAAC;IAED,IACE,MAAM,KAAK,4BAAgB,CAAC,GAAG;QAC/B,MAAM,KAAK,4BAAgB,CAAC,IAAI;QAChC,MAAM,KAAK,4BAAgB,CAAC,QAAQ;QACpC,MAAM,KAAK,4BAAgB,CAAC,GAAG,EAC/B,CAAC;QACD,OAAO,IAAI,qDAAyB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,KAAK,4BAAgB,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,KAAK,4BAAgB,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,yDAA2B,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC,CAAC;AA7BW,QAAA,2BAA2B,+BA6BtC"}
@@ -12,3 +12,4 @@ export * from './FlatCurveV1';
12
12
  export * from './ConstantProductCurveV2';
13
13
  export * from './ConstantProductCurve';
14
14
  export * from './FlatCurveV1AntiSnipe';
15
+ export * from './FogoConstantProductCurveV1';
@@ -28,4 +28,5 @@ __exportStar(require("./FlatCurveV1"), exports);
28
28
  __exportStar(require("./ConstantProductCurveV2"), exports);
29
29
  __exportStar(require("./ConstantProductCurve"), exports);
30
30
  __exportStar(require("./FlatCurveV1AntiSnipe"), exports);
31
+ __exportStar(require("./FogoConstantProductCurveV1"), exports);
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/curves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB;AACxB,6CAA2B;AAC3B,kDAAgC;AAChC,2DAAyC;AACzC,8DAA4C;AAC5C,gEAA8C;AAC9C,gDAA8B;AAC9B,+DAA6C;AAC7C,gDAA8B;AAC9B,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/curves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB;AACxB,6CAA2B;AAC3B,kDAAgC;AAChC,2DAAyC;AACzC,8DAA4C;AAC5C,gEAA8C;AAC9C,gDAA8B;AAC9B,+DAA6C;AAC7C,gDAA8B;AAC9B,2DAAyC;AACzC,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tradeDirection_1 = require("../../constants/tradeDirection");
7
+ const FogoConstantProductCurveV1_1 = require("../FogoConstantProductCurveV1");
8
+ const bigNumber_1 = __importDefault(require("../../../config/bigNumber"));
9
+ describe('FogoConstantProductCurveV1', () => {
10
+ let curve;
11
+ const platformFeeBps = 100;
12
+ const INITIAL_VIRTUAL_TOKEN_RESERVES = 1073000000000000000n;
13
+ const INITIAL_VIRTUAL_COLLATERAL_RESERVES = 27000000000000n;
14
+ const ONE_SOL_LAMPORTS = 1000000000n;
15
+ const ONE_MILLION_TOKENS = 1000000000000000n;
16
+ const ceilDiv = (a, b) => (a + b - 1n) / b;
17
+ beforeAll(() => {
18
+ curve = new FogoConstantProductCurveV1_1.FogoConstantProductCurveV1();
19
+ });
20
+ describe('getTokensAmountFromCollateral', () => {
21
+ const expectedTokensWithoutTax = ceilDiv(INITIAL_VIRTUAL_TOKEN_RESERVES * ONE_SOL_LAMPORTS, INITIAL_VIRTUAL_COLLATERAL_RESERVES + ONE_SOL_LAMPORTS);
22
+ it('should calculate nr of tokens for 1st SOL for buy without tax', () => {
23
+ const params = {
24
+ amount: ONE_SOL_LAMPORTS,
25
+ curvePosition: 0n,
26
+ platformFeeBps: 0,
27
+ tradeDirection: tradeDirection_1.TradeDirection.BUY,
28
+ };
29
+ const result = curve.getTokensAmountFromCollateral(params);
30
+ expect(result).toBe(expectedTokensWithoutTax);
31
+ });
32
+ it('should calculate nr of tokens for 1st SOL for sell without tax', () => {
33
+ const params = {
34
+ amount: ONE_SOL_LAMPORTS,
35
+ curvePosition: expectedTokensWithoutTax,
36
+ platformFeeBps: 0,
37
+ tradeDirection: tradeDirection_1.TradeDirection.SELL,
38
+ };
39
+ const result = curve.getTokensAmountFromCollateral(params);
40
+ expect(result).toBe(expectedTokensWithoutTax);
41
+ });
42
+ it('should calculate nr of tokens for 1st SOL for buy with tax', () => {
43
+ const amountWithTax = (ONE_SOL_LAMPORTS * 10000n) / (10000n - BigInt(platformFeeBps));
44
+ const params = {
45
+ amount: amountWithTax,
46
+ curvePosition: 0n,
47
+ platformFeeBps,
48
+ tradeDirection: tradeDirection_1.TradeDirection.BUY,
49
+ };
50
+ const result = curve.getTokensAmountFromCollateral(params);
51
+ expect(result).toBe(expectedTokensWithoutTax);
52
+ });
53
+ it('should calculate nr of tokens for 1st SOL for sell with tax', () => {
54
+ const amountWithTax = (ONE_SOL_LAMPORTS * 10000n) / (10000n + BigInt(platformFeeBps));
55
+ const params = {
56
+ amount: amountWithTax,
57
+ curvePosition: expectedTokensWithoutTax,
58
+ platformFeeBps,
59
+ tradeDirection: tradeDirection_1.TradeDirection.SELL,
60
+ };
61
+ const result = curve.getTokensAmountFromCollateral(params);
62
+ expect(result).toBeGreaterThan((expectedTokensWithoutTax * 9999n) / 10000n);
63
+ expect(result).toBeLessThan((expectedTokensWithoutTax * 10001n) / 10000n);
64
+ });
65
+ });
66
+ describe('getCollateralFromTokenAmount', () => {
67
+ const K = INITIAL_VIRTUAL_TOKEN_RESERVES * INITIAL_VIRTUAL_COLLATERAL_RESERVES;
68
+ const expectedCollateralWithoutTax = K / (INITIAL_VIRTUAL_TOKEN_RESERVES - ONE_MILLION_TOKENS) -
69
+ INITIAL_VIRTUAL_COLLATERAL_RESERVES;
70
+ it('should calculate collateral for first 1M of tokens for buy without tax', () => {
71
+ const params = {
72
+ amount: ONE_MILLION_TOKENS,
73
+ curvePosition: 0n,
74
+ platformFeeBps: 0,
75
+ tradeDirection: tradeDirection_1.TradeDirection.BUY,
76
+ };
77
+ const result = curve.getCollateralAmountFromTokens(params);
78
+ expect(result).toBe(expectedCollateralWithoutTax);
79
+ });
80
+ it('should calculate collateral for sell of first 1M of tokens without tax', () => {
81
+ const params = {
82
+ amount: ONE_MILLION_TOKENS,
83
+ curvePosition: ONE_MILLION_TOKENS,
84
+ platformFeeBps: 0,
85
+ tradeDirection: tradeDirection_1.TradeDirection.SELL,
86
+ };
87
+ const result = curve.getCollateralAmountFromTokens(params);
88
+ expect(result).toBe(expectedCollateralWithoutTax);
89
+ });
90
+ });
91
+ describe('getCollateralPrice', () => {
92
+ it('should return constant price based on collateral collected at start', () => {
93
+ const result = curve.getCollateralPrice({ curvePosition: 0n });
94
+ const expectedPrice = (0, bigNumber_1.default)(INITIAL_VIRTUAL_COLLATERAL_RESERVES.toString())
95
+ .div((0, bigNumber_1.default)(INITIAL_VIRTUAL_TOKEN_RESERVES.toString()))
96
+ .multipliedBy((0, bigNumber_1.default)(1e9));
97
+ expect(result.toFixed(11)).toBe(expectedPrice.toFixed(11));
98
+ });
99
+ });
100
+ describe('getMinimalTokensFromMarketCap', () => {
101
+ it('should get correct nr of minimal tokens for 310500 SOL mcap', () => {
102
+ const mcap = 310500000000000n;
103
+ const minimalTokenAmount = curve.marketCapToMinimalTokens.get(mcap) || 0n;
104
+ expect(minimalTokenAmount).toBeGreaterThan(0n);
105
+ const result = curve.getMarketCap({ curvePosition: minimalTokenAmount });
106
+ expect(result).toBe(mcap);
107
+ const previousMUnitTokenMcap = curve.getMarketCap({
108
+ curvePosition: minimalTokenAmount - 1n,
109
+ });
110
+ expect(curve.getMarketCap({ curvePosition: previousMUnitTokenMcap })).toBeLessThan(mcap);
111
+ });
112
+ it('should get correct nr of minimal tokens for 18000 SOL mcap', () => {
113
+ const mcap = 18000000000000n;
114
+ const minimalTokenAmount = curve.marketCapToMinimalTokens.get(mcap) || 0n;
115
+ expect(minimalTokenAmount).toBeGreaterThan(0n);
116
+ const result = curve.getMarketCap({ curvePosition: minimalTokenAmount });
117
+ expect(result === mcap || result === mcap - 1n).toBe(true);
118
+ const previousMUnitTokenMcap = curve.getMarketCap({
119
+ curvePosition: minimalTokenAmount - 1n,
120
+ });
121
+ expect(curve.getMarketCap({ curvePosition: previousMUnitTokenMcap })).toBeLessThan(mcap);
122
+ });
123
+ });
124
+ });
125
+ //# sourceMappingURL=FogoConstantProductV1.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FogoConstantProductV1.spec.js","sourceRoot":"","sources":["../../../../../src/domain/curves/tests/FogoConstantProductV1.spec.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ var ContractCurveType;
17
17
  const toContractCurrency = (currency) => {
18
18
  switch (currency) {
19
19
  case constants_1.DefaultCurrencies.SOL:
20
+ case constants_1.DefaultCurrencies.FOGO:
20
21
  return ContractCurrency.SOL;
21
22
  default:
22
23
  throw new Error(`Unknown curve type: ${currency}`);
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AACA,4CAA4E;AAiB5E,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,qDAAO,CAAA;AACT,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,uFAAuB,CAAA;IACvB,uFAAuB,CAAA;IACvB,+DAAW,CAAA;IACX,qFAAsB,CAAA;AACxB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAEM,MAAM,kBAAkB,GAAG,CAChC,QAA2B,EACT,EAAE;IACpB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,6BAAiB,CAAC,GAAG;YACxB,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,qBAAS,CAAC,SAAS;YACtB,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC,KAAK,qBAAS,CAAC,mBAAmB;YAChC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,qBAAS,CAAC,mBAAmB;YAChC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,qBAAS,CAAC,OAAO;YACpB,OAAO,iBAAiB,CAAC,OAAO,CAAC;QACnC,KAAK,qBAAS,CAAC,kBAAkB;YAC/B,OAAO,iBAAiB,CAAC,kBAAkB,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/curves/types.ts"],"names":[],"mappings":";;;AACA,4CAA4E;AAiB5E,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,qDAAO,CAAA;AACT,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,uFAAuB,CAAA;IACvB,uFAAuB,CAAA;IACvB,+DAAW,CAAA;IACX,qFAAsB,CAAA;AACxB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAEM,MAAM,kBAAkB,GAAG,CAChC,QAA2B,EACT,EAAE;IACpB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,6BAAiB,CAAC,GAAG,CAAC;QAC3B,KAAK,6BAAiB,CAAC,IAAI;YACzB,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACD,EAAE;IACrB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,qBAAS,CAAC,SAAS;YACtB,OAAO,iBAAiB,CAAC,SAAS,CAAC;QACrC,KAAK,qBAAS,CAAC,mBAAmB;YAChC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,qBAAS,CAAC,mBAAmB;YAChC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,qBAAS,CAAC,OAAO;YACpB,OAAO,iBAAiB,CAAC,OAAO,CAAC;QACnC,KAAK,qBAAS,CAAC,kBAAkB;YAC/B,OAAO,iBAAiB,CAAC,kBAAkB,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
@@ -16,6 +16,7 @@ export * from './raydium-swap';
16
16
  export * from './top-token-holders';
17
17
  export * from './lp-token-lock-details';
18
18
  export * from './meteora-swap';
19
+ export * from './valiant-swap';
19
20
  export * from './claim-fees';
20
21
  export * from './airdrop';
21
22
  export * from './schedule';
@@ -23,6 +24,7 @@ export * from './airdrop';
23
24
  export * from './airlock';
24
25
  export * from './error';
25
26
  export * from './uniswap';
27
+ export * from './swap-evm';
26
28
  export * from './prioirty-router';
27
29
  export * from './mint-addresses';
28
30
  export * from './pumpfun-swap';
@@ -32,6 +32,7 @@ __exportStar(require("./raydium-swap"), exports);
32
32
  __exportStar(require("./top-token-holders"), exports);
33
33
  __exportStar(require("./lp-token-lock-details"), exports);
34
34
  __exportStar(require("./meteora-swap"), exports);
35
+ __exportStar(require("./valiant-swap"), exports);
35
36
  __exportStar(require("./claim-fees"), exports);
36
37
  __exportStar(require("./airdrop"), exports);
37
38
  __exportStar(require("./schedule"), exports);
@@ -39,6 +40,7 @@ __exportStar(require("./airdrop"), exports);
39
40
  __exportStar(require("./airlock"), exports);
40
41
  __exportStar(require("./error"), exports);
41
42
  __exportStar(require("./uniswap"), exports);
43
+ __exportStar(require("./swap-evm"), exports);
42
44
  __exportStar(require("./prioirty-router"), exports);
43
45
  __exportStar(require("./mint-addresses"), exports);
44
46
  __exportStar(require("./pumpfun-swap"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,mDAAiC;AACjC,0CAAwB;AACxB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,uCAAqB;AACrB,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,0DAAwC;AACxC,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,4CAA0B;AAC1B,oDAAkC;AAClC,mDAAiC;AACjC,iDAA+B;AAC/B,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,0CAAwB;AACxB,6DAA2C;AAC3C,wCAAsB;AACtB,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,iDAA+B;AAC/B,4CAA0B;AAC1B,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,0CAAwB;AACxB,2CAAyB;AACzB,uDAAqC;AACrC,6CAA2B;AAC3B,4CAA0B;AAC1B,yDAAuC;AACvC,4CAA0B;AAC1B,+CAA6B;AAC7B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domain/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B;AAC3B,mDAAiC;AACjC,0CAAwB;AACxB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAC7B,uCAAqB;AACrB,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,oDAAkC;AAClC,mDAAiC;AACjC,iDAA+B;AAC/B,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,0CAAwB;AACxB,6DAA2C;AAC3C,wCAAsB;AACtB,iDAA+B;AAC/B,iDAA+B;AAC/B,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,iDAA+B;AAC/B,4CAA0B;AAC1B,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,0CAAwB;AACxB,2CAAyB;AACzB,uDAAqC;AACrC,6CAA2B;AAC3B,4CAA0B;AAC1B,yDAAuC;AACvC,4CAA0B;AAC1B,+CAA6B;AAC7B,oDAAkC"}