@paraswap/dex-lib 3.8.14 → 3.8.16-oswap

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 (219) hide show
  1. package/build/abi/concentrator/arUSD.json +568 -0
  2. package/build/abi/concentrator/arUSD5115.json +1746 -0
  3. package/build/abi/fx-protocol/FxMarket.json +1284 -0
  4. package/build/abi/{wombat/pool.json → fx-protocol/FxUSD.json} +541 -603
  5. package/build/abi/fx-protocol/weETHOralce.json +676 -0
  6. package/build/abi/inception/inception-ineth-pool.json +1062 -0
  7. package/build/abi/inception/inception-ineth.json +609 -0
  8. package/build/abi/inception/inception-ratio-feed.json +93 -0
  9. package/build/abi/inception/inception-vault.json +991 -0
  10. package/build/abi/infusion/InfusionFactory.json +147 -0
  11. package/build/abi/infusion/InfusionPair.json +658 -0
  12. package/build/abi/infusion/InfusionRouter.json +442 -0
  13. package/build/abi/oswap/oswap.abi.json +452 -0
  14. package/build/dex/aave-v1/aave-v1.js +0 -1
  15. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  16. package/build/dex/angle-transmuter/angle-transmuter.js +1 -1
  17. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -1
  18. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +17 -0
  19. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +66 -0
  20. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -0
  21. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +41 -0
  22. package/build/dex/concentrator-arusd/concentrator-arusd.js +188 -0
  23. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -0
  24. package/build/dex/concentrator-arusd/config.d.ts +3 -0
  25. package/build/dex/concentrator-arusd/config.js +14 -0
  26. package/build/dex/concentrator-arusd/config.js.map +1 -0
  27. package/build/dex/concentrator-arusd/types.d.ts +14 -0
  28. package/build/dex/concentrator-arusd/types.js +3 -0
  29. package/build/dex/concentrator-arusd/types.js.map +1 -0
  30. package/build/dex/concentrator-arusd/utils.d.ts +4 -0
  31. package/build/dex/concentrator-arusd/utils.js +27 -0
  32. package/build/dex/concentrator-arusd/utils.js.map +1 -0
  33. package/build/dex/fx-protocol-rusd/config.d.ts +3 -0
  34. package/build/dex/fx-protocol-rusd/config.js +15 -0
  35. package/build/dex/fx-protocol-rusd/config.js.map +1 -0
  36. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.d.ts +18 -0
  37. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js +71 -0
  38. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -0
  39. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.d.ts +39 -0
  40. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +201 -0
  41. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -0
  42. package/build/dex/fx-protocol-rusd/types.d.ts +13 -0
  43. package/build/dex/fx-protocol-rusd/types.js +3 -0
  44. package/build/dex/fx-protocol-rusd/types.js.map +1 -0
  45. package/build/dex/fx-protocol-rusd/utils.d.ts +4 -0
  46. package/build/dex/fx-protocol-rusd/utils.js +26 -0
  47. package/build/dex/fx-protocol-rusd/utils.js.map +1 -0
  48. package/build/dex/idex.d.ts +11 -7
  49. package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
  50. package/build/dex/idle-dao/idle-dao-pool.js +176 -0
  51. package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
  52. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
  53. package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
  54. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
  55. package/build/dex/idle-dao/scripts.d.ts +9 -0
  56. package/build/dex/idle-dao/scripts.js +552 -0
  57. package/build/dex/idle-dao/scripts.js.map +1 -0
  58. package/build/dex/inception/config.d.ts +5 -0
  59. package/build/dex/inception/config.js +112 -0
  60. package/build/dex/inception/config.js.map +1 -0
  61. package/build/dex/inception/inception-event-pool.d.ts +23 -0
  62. package/build/dex/inception/inception-event-pool.js +34 -0
  63. package/build/dex/inception/inception-event-pool.js.map +1 -0
  64. package/build/dex/inception/inception-native.d.ts +43 -0
  65. package/build/dex/inception/inception-native.js +131 -0
  66. package/build/dex/inception/inception-native.js.map +1 -0
  67. package/build/dex/inception/inception-pool.d.ts +18 -0
  68. package/build/dex/inception/inception-pool.js +32 -0
  69. package/build/dex/inception/inception-pool.js.map +1 -0
  70. package/build/dex/inception/inception-price-feed.d.ts +19 -0
  71. package/build/dex/inception/inception-price-feed.js +51 -0
  72. package/build/dex/inception/inception-price-feed.js.map +1 -0
  73. package/build/dex/inception/inception.d.ts +44 -0
  74. package/build/dex/inception/inception.js +162 -0
  75. package/build/dex/inception/inception.js.map +1 -0
  76. package/build/dex/inception/tokens.d.ts +9 -0
  77. package/build/dex/inception/tokens.js +28 -0
  78. package/build/dex/inception/tokens.js.map +1 -0
  79. package/build/dex/inception/types.d.ts +22 -0
  80. package/build/dex/inception/types.js +3 -0
  81. package/build/dex/inception/types.js.map +1 -0
  82. package/build/dex/inception/utils.d.ts +7 -0
  83. package/build/dex/inception/utils.js +58 -0
  84. package/build/dex/inception/utils.js.map +1 -0
  85. package/build/dex/index.js +6 -0
  86. package/build/dex/index.js.map +1 -1
  87. package/build/dex/infusion/config.d.ts +4 -0
  88. package/build/dex/infusion/config.js +25 -0
  89. package/build/dex/infusion/config.js.map +1 -0
  90. package/build/dex/infusion/infusion-stable-pool.d.ts +4 -0
  91. package/build/dex/infusion/infusion-stable-pool.js +74 -0
  92. package/build/dex/infusion/infusion-stable-pool.js.map +1 -0
  93. package/build/dex/infusion/infusion.d.ts +54 -0
  94. package/build/dex/infusion/infusion.js +510 -0
  95. package/build/dex/infusion/infusion.js.map +1 -0
  96. package/build/dex/infusion/types.d.ts +47 -0
  97. package/build/dex/infusion/types.js +3 -0
  98. package/build/dex/infusion/types.js.map +1 -0
  99. package/build/dex/infusion/utils/isStablePair.d.ts +2 -0
  100. package/build/dex/infusion/utils/isStablePair.js +18 -0
  101. package/build/dex/infusion/utils/isStablePair.js.map +1 -0
  102. package/build/dex/oswap/config.d.ts +5 -0
  103. package/build/dex/oswap/config.js +31 -0
  104. package/build/dex/oswap/config.js.map +1 -0
  105. package/build/dex/oswap/oswap-pool.d.ts +51 -0
  106. package/build/dex/oswap/oswap-pool.js +150 -0
  107. package/build/dex/oswap/oswap-pool.js.map +1 -0
  108. package/build/dex/oswap/oswap.d.ts +46 -0
  109. package/build/dex/oswap/oswap.js +273 -0
  110. package/build/dex/oswap/oswap.js.map +1 -0
  111. package/build/dex/oswap/types.d.ts +20 -0
  112. package/build/dex/oswap/types.js +3 -0
  113. package/build/dex/oswap/types.js.map +1 -0
  114. package/build/dex/platypus/platypus.js +3 -17
  115. package/build/dex/platypus/platypus.js.map +1 -1
  116. package/build/dex/swaap-v1/swaap-v1.js +0 -4
  117. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  118. package/build/dex/weth/config.js +3 -0
  119. package/build/dex/weth/config.js.map +1 -1
  120. package/package.json +1 -1
  121. package/src/abi/concentrator/arUSD.json +568 -0
  122. package/src/abi/concentrator/arUSD5115.json +1746 -0
  123. package/src/abi/fx-protocol/FxMarket.json +1284 -0
  124. package/src/abi/fx-protocol/FxUSD.json +1227 -0
  125. package/src/abi/fx-protocol/weETHOralce.json +676 -0
  126. package/src/abi/oswap/oswap.abi.json +452 -0
  127. package/src/dex/angle-transmuter/angle-transmuter.ts +1 -1
  128. package/src/dex/concentrator-arusd/concentrator-arusd-e2e.test.ts +92 -0
  129. package/src/dex/concentrator-arusd/concentrator-arusd-event.ts +100 -0
  130. package/src/dex/concentrator-arusd/concentrator-arusd-integration.test.ts +104 -0
  131. package/src/dex/concentrator-arusd/concentrator-arusd.ts +269 -0
  132. package/src/dex/concentrator-arusd/concetrator-arusd-events.test.ts +97 -0
  133. package/src/dex/concentrator-arusd/config.ts +13 -0
  134. package/src/dex/concentrator-arusd/types.ts +16 -0
  135. package/src/dex/concentrator-arusd/utils.ts +36 -0
  136. package/src/dex/fx-protocol-rusd/config.ts +14 -0
  137. package/src/dex/fx-protocol-rusd/fx-protocol-e2e.test.ts +96 -0
  138. package/src/dex/fx-protocol-rusd/fx-protocol-events.test.ts +101 -0
  139. package/src/dex/fx-protocol-rusd/fx-protocol-integration.test.ts +104 -0
  140. package/src/dex/fx-protocol-rusd/fx-protocol-rusd-event.ts +112 -0
  141. package/src/dex/fx-protocol-rusd/fx-protocol-rusd.ts +282 -0
  142. package/src/dex/fx-protocol-rusd/types.ts +16 -0
  143. package/src/dex/fx-protocol-rusd/utils.ts +47 -0
  144. package/src/dex/idex.ts +48 -41
  145. package/src/dex/index.ts +6 -0
  146. package/src/dex/oswap/config.ts +32 -0
  147. package/src/dex/oswap/oswap-e2e.test.ts +91 -0
  148. package/src/dex/oswap/oswap-events.test.ts +88 -0
  149. package/src/dex/oswap/oswap-integration.test.ts +269 -0
  150. package/src/dex/oswap/oswap-pool.ts +190 -0
  151. package/src/dex/oswap/oswap.ts +392 -0
  152. package/src/dex/oswap/types.ts +29 -0
  153. package/src/dex/weth/config.ts +3 -0
  154. package/src/dex/weth/weth-e2e.test.ts +156 -0
  155. package/src/dex/wsteth/wsteth-integration.test.ts +0 -1
  156. package/tests/constants-e2e.ts +10 -0
  157. package/.vscode/launch.json +0 -53
  158. package/.vscode/settings.json +0 -2
  159. package/.vscode/tasks.json +0 -15
  160. package/build/abi/maverick-v2/MaverickV2Router.json +0 -778
  161. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  162. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  163. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  164. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  165. package/build/dex/bProtocol.d.ts +0 -18
  166. package/build/dex/bProtocol.js +0 -39
  167. package/build/dex/bProtocol.js.map +0 -1
  168. package/build/dex/bancor.d.ts +0 -26
  169. package/build/dex/bancor.js +0 -58
  170. package/build/dex/bancor.js.map +0 -1
  171. package/build/dex/compound.d.ts +0 -18
  172. package/build/dex/compound.js +0 -46
  173. package/build/dex/compound.js.map +0 -1
  174. package/build/dex/curve-v2.d.ts +0 -58
  175. package/build/dex/curve-v2.js +0 -180
  176. package/build/dex/curve-v2.js.map +0 -1
  177. package/build/dex/dodo-v1.d.ts +0 -33
  178. package/build/dex/dodo-v1.js +0 -63
  179. package/build/dex/dodo-v1.js.map +0 -1
  180. package/build/dex/lido.d.ts +0 -19
  181. package/build/dex/lido.js +0 -42
  182. package/build/dex/lido.js.map +0 -1
  183. package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
  184. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  185. package/build/dex/maker-psm/scripts/validate-state.js +0 -185
  186. package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
  187. package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
  188. package/build/dex/onebit.d.ts +0 -25
  189. package/build/dex/onebit.js +0 -42
  190. package/build/dex/onebit.js.map +0 -1
  191. package/build/dex/smoothy.d.ts +0 -26
  192. package/build/dex/smoothy.js +0 -48
  193. package/build/dex/smoothy.js.map +0 -1
  194. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  195. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  196. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  197. package/build/dex/stable-pool.d.ts +0 -28
  198. package/build/dex/stable-pool.js +0 -55
  199. package/build/dex/stable-pool.js.map +0 -1
  200. package/build/dex/trader-joe-v2.1/base.d.ts +0 -18
  201. package/build/dex/trader-joe-v2.1/base.js +0 -99
  202. package/build/dex/trader-joe-v2.1/base.js.map +0 -1
  203. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +0 -7
  204. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +0 -20
  205. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +0 -1
  206. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.d.ts +0 -7
  207. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js +0 -20
  208. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js.map +0 -1
  209. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  210. package/build/dex/trader-joe-v2.1.js +0 -79
  211. package/build/dex/trader-joe-v2.1.js.map +0 -1
  212. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  213. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  214. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  215. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  216. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  217. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
  218. package/config.ts +0 -1946
  219. package/src/dex/dexs.txt +0 -58
@@ -873,4 +873,160 @@ describe('Weth E2E', () => {
873
873
  });
874
874
  });
875
875
  });
876
+
877
+ describe('Weth ZKEvm', () => {
878
+ const dexKey = 'Weth';
879
+ const network = Network.ZKEVM;
880
+
881
+ const nativeTokenSymbol = 'ETH';
882
+ const wrappedTokenSymbol = 'WETH';
883
+
884
+ const nativeAmount = '1000000000000000000';
885
+ const wrappedAmount = '1000000000000000000';
886
+
887
+ const tokens = Tokens[network];
888
+ const holders = Holders[network];
889
+ const provider = new StaticJsonRpcProvider(
890
+ generateConfig(network).privateHttpProvider,
891
+ network,
892
+ );
893
+
894
+ const nativeToken = tokens[nativeTokenSymbol];
895
+ const wrappedToken = tokens[wrappedTokenSymbol];
896
+
897
+ const nativeHolder = holders[nativeTokenSymbol];
898
+ const wrappedHolder = holders[wrappedTokenSymbol];
899
+
900
+ describe('SimpleSwap SELL', () => {
901
+ const contractMethod = ContractMethod.simpleSwap;
902
+ const side = SwapSide.SELL;
903
+
904
+ it('native -> wrapped', async () => {
905
+ await testE2E(
906
+ nativeToken,
907
+ wrappedToken,
908
+ nativeHolder,
909
+ nativeAmount,
910
+ side,
911
+ dexKey,
912
+ contractMethod,
913
+ network,
914
+ provider,
915
+ undefined,
916
+ undefined,
917
+ undefined,
918
+ undefined,
919
+ undefined,
920
+ true,
921
+ );
922
+ });
923
+ it('wrapped -> native', async () => {
924
+ await testE2E(
925
+ wrappedToken,
926
+ nativeToken,
927
+ wrappedHolder,
928
+ wrappedAmount,
929
+ side,
930
+ dexKey,
931
+ contractMethod,
932
+ network,
933
+ provider,
934
+ undefined,
935
+ undefined,
936
+ undefined,
937
+ undefined,
938
+ undefined,
939
+ true,
940
+ );
941
+ });
942
+ });
943
+
944
+ describe('MultiSwap SELL', () => {
945
+ const contractMethod = ContractMethod.multiSwap;
946
+ const side = SwapSide.SELL;
947
+
948
+ it('native -> wrapped', async () => {
949
+ await testE2E(
950
+ nativeToken,
951
+ wrappedToken,
952
+ nativeHolder,
953
+ nativeAmount,
954
+ side,
955
+ dexKey,
956
+ contractMethod,
957
+ network,
958
+ provider,
959
+ undefined,
960
+ undefined,
961
+ undefined,
962
+ undefined,
963
+ undefined,
964
+ true,
965
+ );
966
+ });
967
+ it('wrapped -> native', async () => {
968
+ await testE2E(
969
+ wrappedToken,
970
+ nativeToken,
971
+ wrappedHolder,
972
+ wrappedAmount,
973
+ side,
974
+ dexKey,
975
+ contractMethod,
976
+ network,
977
+ provider,
978
+ undefined,
979
+ undefined,
980
+ undefined,
981
+ undefined,
982
+ undefined,
983
+ true,
984
+ );
985
+ });
986
+ });
987
+
988
+ describe('MegaSwap SELL', () => {
989
+ const contractMethod = ContractMethod.megaSwap;
990
+ const side = SwapSide.SELL;
991
+
992
+ it('native -> wrapped', async () => {
993
+ await testE2E(
994
+ nativeToken,
995
+ wrappedToken,
996
+ nativeHolder,
997
+ nativeAmount,
998
+ side,
999
+ dexKey,
1000
+ contractMethod,
1001
+ network,
1002
+ provider,
1003
+ undefined,
1004
+ undefined,
1005
+ undefined,
1006
+ undefined,
1007
+ undefined,
1008
+ true,
1009
+ );
1010
+ });
1011
+ it('wrapped -> native', async () => {
1012
+ await testE2E(
1013
+ wrappedToken,
1014
+ nativeToken,
1015
+ wrappedHolder,
1016
+ wrappedAmount,
1017
+ side,
1018
+ dexKey,
1019
+ contractMethod,
1020
+ network,
1021
+ provider,
1022
+ undefined,
1023
+ undefined,
1024
+ undefined,
1025
+ undefined,
1026
+ undefined,
1027
+ true,
1028
+ );
1029
+ });
1030
+ });
1031
+ });
876
1032
  });
@@ -58,7 +58,6 @@ async function checkOnChainPricing(
58
58
  const expectedPrices = [0n].concat(
59
59
  decodeReaderResult(readerResult, readerIface, funcName),
60
60
  );
61
-
62
61
  expect(prices).toEqual(expectedPrices);
63
62
  }
64
63
 
@@ -499,6 +499,14 @@ export const Tokens: {
499
499
  address: '0x23878914efe38d27c4d67ab83ed1b93a74d4086a',
500
500
  decimals: 6,
501
501
  },
502
+ rUSD: {
503
+ address: '0x65D72AA8DA931F047169112fcf34f52DbaAE7D18',
504
+ decimals: 18,
505
+ },
506
+ arUSD: {
507
+ address: '0x07D1718fF05a8C53C8F05aDAEd57C0d672945f9a',
508
+ decimals: 18,
509
+ },
502
510
  },
503
511
  [Network.POLYGON]: {
504
512
  jGBP: {
@@ -1569,6 +1577,8 @@ export const Holders: {
1569
1577
  stataUSDT: '0x6803364AceD5181877abC11E865FB27cB654a426',
1570
1578
  aaveUSDT: '0x32c98a981Fe7C333Bd4e8E7630E8e0CF5ce20987',
1571
1579
  weETH: '0x267ed5f71EE47D3E45Bb1569Aa37889a2d10f91e',
1580
+ rUSD: '0xEC2eda1C4F981E468ABF62424a10B69B738b498E',
1581
+ arUSD: '0xeFc24206053a452e2299BF3b8f964512b041Db4C',
1572
1582
  },
1573
1583
  [Network.POLYGON]: {
1574
1584
  jGBP: '0x02aa0B826c7BA6386DdBE04C0a8715A1c0A16B24',
@@ -1,53 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "type": "node",
6
- "request": "launch",
7
- "name": "Current",
8
- "program": "${file}",
9
- "preLaunchTask": "npm: build",
10
- "sourceMaps": true,
11
- "smartStep": true,
12
- "internalConsoleOptions": "openOnSessionStart",
13
- "outFiles": ["${workspaceFolder}/build/**/*.js"]
14
- },
15
- {
16
- "type": "node",
17
- "request": "launch",
18
- "name": "Debug dex integration",
19
- "program": "${workspaceFolder}/node_modules/ts-node/dist/bin.js",
20
- "args": [
21
- "--project",
22
- "tsconfig.json",
23
- // "${workspaceFolder}/src/dex/algebra/scripts/validate-state.ts",
24
- "${workspaceFolder}/src/dex/camelot/camelot-pool-discovery.test.ts",
25
- // "${workspaceFolder}/src/dex/solidly-v3/scripts/check-event-pool-event.ts",
26
- // "${workspaceFolder}/scripts/dex-integration.ts",
27
- "test",
28
- "wombat"
29
- ],
30
- "console": "integratedTerminal",
31
- "internalConsoleOptions": "neverOpen",
32
- "runtimeArgs": ["--nolazy"],
33
- "sourceMaps": true,
34
- "smartStep": true,
35
- "skipFiles": ["<node_internals>/**"],
36
- "cwd": "${workspaceFolder}"
37
- },
38
- {
39
- "type": "node",
40
- "name": "Jest file",
41
- "request": "launch",
42
- "program": "${workspaceFolder}/node_modules/jest/bin/jest.js",
43
- // "program": "${workspaceFolder}/src/dex/camelot/scripts/validate-state.ts",
44
- // "args": ["src/dex/balancer-v1/balancer-v1-e2e.test.ts"],
45
- // "args": ["${relativeFile}"],
46
- "args": ["${file}"],
47
- "cwd": "${workspaceRoot}",
48
- "console": "integratedTerminal",
49
- "internalConsoleOptions": "neverOpen",
50
- "sourceMaps": true
51
- }
52
- ]
53
- }
@@ -1,2 +0,0 @@
1
- {
2
- }
@@ -1,15 +0,0 @@
1
- {
2
- "version": "2.0.0",
3
- "tasks": [
4
- {
5
- "label": "tsc: build - tsconfig.json",
6
- "type": "typescript",
7
- "tsconfig": "tsconfig.json",
8
- "problemMatcher": ["$tsc"],
9
- "group": {
10
- "kind": "build",
11
- "isDefault": true
12
- }
13
- }
14
- ]
15
- }