@whetstone-research/doppler-sdk 0.0.1-alpha.49 → 0.0.1-alpha.50

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 (75) hide show
  1. package/dist/DopplerSDK.js +10 -9
  2. package/dist/DopplerSDK.mjs +9 -8
  3. package/dist/addresses.d.mts +1 -2
  4. package/dist/addresses.d.ts +1 -2
  5. package/dist/addresses.js +7 -6
  6. package/dist/addresses.mjs +2 -1
  7. package/dist/chunk-5XZC45NR.mjs +112 -0
  8. package/dist/chunk-5XZC45NR.mjs.map +1 -0
  9. package/dist/{chunk-GLZIREIW.mjs → chunk-6FVJZEMS.mjs} +3 -3
  10. package/dist/{chunk-GLZIREIW.mjs.map → chunk-6FVJZEMS.mjs.map} +1 -1
  11. package/dist/{chunk-5HSBW3AJ.js → chunk-74TRSQE6.js} +5 -5
  12. package/dist/{chunk-5HSBW3AJ.js.map → chunk-74TRSQE6.js.map} +1 -1
  13. package/dist/{chunk-HCD2QHWG.js → chunk-74V3LOT3.js} +16 -16
  14. package/dist/{chunk-HCD2QHWG.js.map → chunk-74V3LOT3.js.map} +1 -1
  15. package/dist/{chunk-4GNU2HZB.js → chunk-DOZBQ7VQ.js} +18 -18
  16. package/dist/{chunk-4GNU2HZB.js.map → chunk-DOZBQ7VQ.js.map} +1 -1
  17. package/dist/{chunk-CCWVZ3FD.js → chunk-ECMJL6R6.js} +11 -11
  18. package/dist/{chunk-CCWVZ3FD.js.map → chunk-ECMJL6R6.js.map} +1 -1
  19. package/dist/{chunk-KEYVLYK4.js → chunk-EKZJGUYF.js} +71 -56
  20. package/dist/chunk-EKZJGUYF.js.map +1 -0
  21. package/dist/{chunk-3GRKD763.mjs → chunk-EXDPXYTJ.mjs} +3 -3
  22. package/dist/{chunk-3GRKD763.mjs.map → chunk-EXDPXYTJ.mjs.map} +1 -1
  23. package/dist/{chunk-MV5L74FV.mjs → chunk-G4VIQ3JY.mjs} +3 -3
  24. package/dist/{chunk-MV5L74FV.mjs.map → chunk-G4VIQ3JY.mjs.map} +1 -1
  25. package/dist/{chunk-HIS4XLJ2.mjs → chunk-K5F2ZNQC.mjs} +3 -3
  26. package/dist/{chunk-HIS4XLJ2.mjs.map → chunk-K5F2ZNQC.mjs.map} +1 -1
  27. package/dist/{chunk-3S5MZ2FM.mjs → chunk-MCTWGTUU.mjs} +3 -3
  28. package/dist/{chunk-3S5MZ2FM.mjs.map → chunk-MCTWGTUU.mjs.map} +1 -1
  29. package/dist/{chunk-4TQ42ILJ.js → chunk-NHHIADU4.js} +4 -4
  30. package/dist/{chunk-4TQ42ILJ.js.map → chunk-NHHIADU4.js.map} +1 -1
  31. package/dist/{chunk-ZB4IGCJ4.mjs → chunk-PIFAU7X6.mjs} +71 -56
  32. package/dist/chunk-PIFAU7X6.mjs.map +1 -0
  33. package/dist/{chunk-3DKVDR3B.js → chunk-S4RJUKQR.js} +5 -5
  34. package/dist/{chunk-3DKVDR3B.js.map → chunk-S4RJUKQR.js.map} +1 -1
  35. package/dist/{chunk-2SBWUTON.mjs → chunk-SK7XUEHD.mjs} +3 -3
  36. package/dist/{chunk-2SBWUTON.mjs.map → chunk-SK7XUEHD.mjs.map} +1 -1
  37. package/dist/{chunk-H7APWCYL.js → chunk-UQQCJEAD.js} +5 -5
  38. package/dist/{chunk-H7APWCYL.js.map → chunk-UQQCJEAD.js.map} +1 -1
  39. package/dist/chunk-WVMSCYMS.js +114 -0
  40. package/dist/chunk-WVMSCYMS.js.map +1 -0
  41. package/dist/{chunk-CJZ6L5OA.mjs → chunk-WWW347IW.mjs} +8 -8
  42. package/dist/{chunk-CJZ6L5OA.mjs.map → chunk-WWW347IW.mjs.map} +1 -1
  43. package/dist/deployments.generated.js +7 -109
  44. package/dist/deployments.generated.js.map +1 -1
  45. package/dist/deployments.generated.mjs +1 -110
  46. package/dist/deployments.generated.mjs.map +1 -1
  47. package/dist/entities/DopplerFactory.js +5 -4
  48. package/dist/entities/DopplerFactory.mjs +4 -3
  49. package/dist/entities/auction/DynamicAuction.js +4 -3
  50. package/dist/entities/auction/DynamicAuction.mjs +3 -2
  51. package/dist/entities/auction/MulticurvePool.js +4 -3
  52. package/dist/entities/auction/MulticurvePool.mjs +3 -2
  53. package/dist/entities/auction/StaticAuction.js +4 -3
  54. package/dist/entities/auction/StaticAuction.mjs +3 -2
  55. package/dist/entities/auction/index.js +8 -7
  56. package/dist/entities/auction/index.mjs +5 -4
  57. package/dist/entities/quoter/Quoter.js +4 -3
  58. package/dist/entities/quoter/Quoter.mjs +3 -2
  59. package/dist/entities/quoter/index.js +4 -3
  60. package/dist/entities/quoter/index.mjs +3 -2
  61. package/dist/index.d.mts +1 -1
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.js +25 -24
  64. package/dist/index.js.map +1 -1
  65. package/dist/index.mjs +10 -9
  66. package/dist/index.mjs.map +1 -1
  67. package/dist/types.js +2 -1
  68. package/dist/types.mjs +2 -1
  69. package/dist/utils/airlock.js +7 -6
  70. package/dist/utils/airlock.mjs +3 -2
  71. package/dist/utils/index.js +7 -6
  72. package/dist/utils/index.mjs +3 -2
  73. package/package.json +1 -1
  74. package/dist/chunk-KEYVLYK4.js.map +0 -1
  75. package/dist/chunk-ZB4IGCJ4.mjs.map +0 -1
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunk4GNU2HZB_js = require('./chunk-4GNU2HZB.js');
3
+ var chunkDOZBQ7VQ_js = require('./chunk-DOZBQ7VQ.js');
4
4
  require('./chunk-3PNCB4W5.js');
5
- require('./chunk-4TQ42ILJ.js');
6
- require('./chunk-H7APWCYL.js');
7
- require('./chunk-5HSBW3AJ.js');
5
+ require('./chunk-NHHIADU4.js');
6
+ require('./chunk-UQQCJEAD.js');
7
+ require('./chunk-74TRSQE6.js');
8
8
  require('./chunk-P7CHGWY7.js');
9
- require('./chunk-CCWVZ3FD.js');
9
+ require('./chunk-ECMJL6R6.js');
10
10
  require('./chunk-WQHTNL5L.js');
11
11
  require('./chunk-X3UMAHOJ.js');
12
12
  require('./chunk-FGHJRD7V.js');
13
13
  require('./chunk-VEIVYUYF.js');
14
14
  require('./chunk-LS4TK6SX.js');
15
- require('./chunk-HCD2QHWG.js');
15
+ require('./chunk-74V3LOT3.js');
16
16
  require('./chunk-HFVVQEOZ.js');
17
17
  require('./chunk-4EXUJPVX.js');
18
18
  require('./chunk-FAFU27VH.js');
19
- require('./chunk-3DKVDR3B.js');
19
+ require('./chunk-S4RJUKQR.js');
20
20
  require('./chunk-4HM3ERBU.js');
21
21
  require('./chunk-Q7YNBSVH.js');
22
22
  require('./chunk-KPBCG4X2.js');
@@ -24,14 +24,15 @@ require('./chunk-XG7K4R56.js');
24
24
  require('./chunk-A2ZJ2RMK.js');
25
25
  require('./chunk-45OJGXN4.js');
26
26
  require('./chunk-X5ZYPYVS.js');
27
- require('./chunk-KEYVLYK4.js');
27
+ require('./chunk-EKZJGUYF.js');
28
+ require('./chunk-WVMSCYMS.js');
28
29
  require('./chunk-CIRZKWLL.js');
29
30
 
30
31
 
31
32
 
32
33
  Object.defineProperty(exports, "DopplerSDK", {
33
34
  enumerable: true,
34
- get: function () { return chunk4GNU2HZB_js.DopplerSDK; }
35
+ get: function () { return chunkDOZBQ7VQ_js.DopplerSDK; }
35
36
  });
36
37
  //# sourceMappingURL=DopplerSDK.js.map
37
38
  //# sourceMappingURL=DopplerSDK.js.map
@@ -1,20 +1,20 @@
1
- export { DopplerSDK } from './chunk-CJZ6L5OA.mjs';
1
+ export { DopplerSDK } from './chunk-WWW347IW.mjs';
2
2
  import './chunk-SD7BHT2F.mjs';
3
- import './chunk-3S5MZ2FM.mjs';
4
- import './chunk-3GRKD763.mjs';
5
- import './chunk-GLZIREIW.mjs';
3
+ import './chunk-MCTWGTUU.mjs';
4
+ import './chunk-EXDPXYTJ.mjs';
5
+ import './chunk-6FVJZEMS.mjs';
6
6
  import './chunk-QSQGLWNY.mjs';
7
- import './chunk-HIS4XLJ2.mjs';
7
+ import './chunk-K5F2ZNQC.mjs';
8
8
  import './chunk-FOESYJP3.mjs';
9
9
  import './chunk-RV64M4Q6.mjs';
10
10
  import './chunk-M6ANIZWZ.mjs';
11
11
  import './chunk-XNMXN5SZ.mjs';
12
12
  import './chunk-PAPXGPJB.mjs';
13
- import './chunk-2SBWUTON.mjs';
13
+ import './chunk-SK7XUEHD.mjs';
14
14
  import './chunk-SCAYEDY3.mjs';
15
15
  import './chunk-KDNSSY2H.mjs';
16
16
  import './chunk-B63YWMNA.mjs';
17
- import './chunk-MV5L74FV.mjs';
17
+ import './chunk-G4VIQ3JY.mjs';
18
18
  import './chunk-ECD4FV3A.mjs';
19
19
  import './chunk-ZH44DHVR.mjs';
20
20
  import './chunk-AYPP5JEQ.mjs';
@@ -22,7 +22,8 @@ import './chunk-4K5GBNQV.mjs';
22
22
  import './chunk-3MBJ32V7.mjs';
23
23
  import './chunk-F7U377SD.mjs';
24
24
  import './chunk-WI5A62F2.mjs';
25
- import './chunk-ZB4IGCJ4.mjs';
25
+ import './chunk-PIFAU7X6.mjs';
26
+ import './chunk-5XZC45NR.mjs';
26
27
  import './chunk-7W72MFJO.mjs';
27
28
  //# sourceMappingURL=DopplerSDK.mjs.map
28
29
  //# sourceMappingURL=DopplerSDK.mjs.map
@@ -7,6 +7,7 @@ declare const CHAIN_IDS: {
7
7
  readonly INK: 57073;
8
8
  readonly UNICHAIN: 130;
9
9
  readonly UNICHAIN_SEPOLIA: 1301;
10
+ readonly MONAD_TESTNET: 10143;
10
11
  };
11
12
  type SupportedChainId = typeof CHAIN_IDS[keyof typeof CHAIN_IDS];
12
13
  type SupportedChainKey = keyof typeof CHAIN_IDS;
@@ -19,11 +20,9 @@ interface ChainAddresses {
19
20
  v4Initializer: Address;
20
21
  v4MulticurveInitializer?: Address;
21
22
  v4ScheduledMulticurveInitializer?: Address;
22
- doppler: Address;
23
23
  dopplerLens: Address;
24
24
  dopplerDeployer: Address;
25
25
  poolManager: Address;
26
- stateView: Address;
27
26
  doppler404Factory?: Address;
28
27
  v2Migrator: Address;
29
28
  v3Migrator: Address;
@@ -7,6 +7,7 @@ declare const CHAIN_IDS: {
7
7
  readonly INK: 57073;
8
8
  readonly UNICHAIN: 130;
9
9
  readonly UNICHAIN_SEPOLIA: 1301;
10
+ readonly MONAD_TESTNET: 10143;
10
11
  };
11
12
  type SupportedChainId = typeof CHAIN_IDS[keyof typeof CHAIN_IDS];
12
13
  type SupportedChainKey = keyof typeof CHAIN_IDS;
@@ -19,11 +20,9 @@ interface ChainAddresses {
19
20
  v4Initializer: Address;
20
21
  v4MulticurveInitializer?: Address;
21
22
  v4ScheduledMulticurveInitializer?: Address;
22
- doppler: Address;
23
23
  dopplerLens: Address;
24
24
  dopplerDeployer: Address;
25
25
  poolManager: Address;
26
- stateView: Address;
27
26
  doppler404Factory?: Address;
28
27
  v2Migrator: Address;
29
28
  v3Migrator: Address;
package/dist/addresses.js CHANGED
@@ -1,28 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var chunkKEYVLYK4_js = require('./chunk-KEYVLYK4.js');
3
+ var chunkEKZJGUYF_js = require('./chunk-EKZJGUYF.js');
4
+ require('./chunk-WVMSCYMS.js');
4
5
 
5
6
 
6
7
 
7
8
  Object.defineProperty(exports, "ADDRESSES", {
8
9
  enumerable: true,
9
- get: function () { return chunkKEYVLYK4_js.ADDRESSES; }
10
+ get: function () { return chunkEKZJGUYF_js.ADDRESSES; }
10
11
  });
11
12
  Object.defineProperty(exports, "CHAIN_IDS", {
12
13
  enumerable: true,
13
- get: function () { return chunkKEYVLYK4_js.CHAIN_IDS; }
14
+ get: function () { return chunkEKZJGUYF_js.CHAIN_IDS; }
14
15
  });
15
16
  Object.defineProperty(exports, "SUPPORTED_CHAIN_IDS", {
16
17
  enumerable: true,
17
- get: function () { return chunkKEYVLYK4_js.SUPPORTED_CHAIN_IDS; }
18
+ get: function () { return chunkEKZJGUYF_js.SUPPORTED_CHAIN_IDS; }
18
19
  });
19
20
  Object.defineProperty(exports, "getAddresses", {
20
21
  enumerable: true,
21
- get: function () { return chunkKEYVLYK4_js.getAddresses; }
22
+ get: function () { return chunkEKZJGUYF_js.getAddresses; }
22
23
  });
23
24
  Object.defineProperty(exports, "isSupportedChainId", {
24
25
  enumerable: true,
25
- get: function () { return chunkKEYVLYK4_js.isSupportedChainId; }
26
+ get: function () { return chunkEKZJGUYF_js.isSupportedChainId; }
26
27
  });
27
28
  //# sourceMappingURL=addresses.js.map
28
29
  //# sourceMappingURL=addresses.js.map
@@ -1,3 +1,4 @@
1
- export { ADDRESSES, CHAIN_IDS, SUPPORTED_CHAIN_IDS, getAddresses, isSupportedChainId } from './chunk-ZB4IGCJ4.mjs';
1
+ export { ADDRESSES, CHAIN_IDS, SUPPORTED_CHAIN_IDS, getAddresses, isSupportedChainId } from './chunk-PIFAU7X6.mjs';
2
+ import './chunk-5XZC45NR.mjs';
2
3
  //# sourceMappingURL=addresses.mjs.map
3
4
  //# sourceMappingURL=addresses.mjs.map
@@ -0,0 +1,112 @@
1
+ // src/deployments.generated.ts
2
+ var GENERATED_DOPPLER_DEPLOYMENTS = {
3
+ "130": {
4
+ "Airlock": "0x77ebfbae15ad200758e9e2e61597c0b07d731254",
5
+ "Bundler": "0x91231cddd8d6c86df602070a3081478e074b97b7",
6
+ "DopplerDeployer": "0x0d2f38d807bfad5c18e430516e10ab560d300caf",
7
+ "DopplerLensQuoter": "0x82ac010c67f70bacf7655cd8948a4ad92a173cac",
8
+ "GovernanceFactory": "0x99c94b9df930e1e21a4e4a2c105dbff21bf5c5ae",
9
+ "LockableUniswapV3Initializer": "0xa3c847eab58eaa9cbc215c785c9cfbc19cdabd5f",
10
+ "NoOpGovernanceFactory": "0x3ad727ee0fbbb8ee0920933fdb96f23fd56f1299",
11
+ "NoOpMigrator": "0x917da361072ce968acd810bbfc9b64079426ebf0",
12
+ "StreamableFeesLocker": "0x6ddfed58d238ca3195e49d8ac3d4cea6386e5c33",
13
+ "TokenFactory": "0x43d0d97ec9241a8f05a264f94b82a1d2e600f2b3",
14
+ "UniswapV2Migrator": "0xf6023127f6e937091d5b605680056a6d27524bad",
15
+ "UniswapV3Initializer": "0x9f4e56be80f08ba1a2445645efa6d231e27b43ec",
16
+ "UniswapV4Initializer": "0x4b0ec16eb40318ca5a4346f20f04a2285c19675b",
17
+ "UniswapV4Migrator": "0x49f3fbb2dff7f3d03b622e3b2a6d3f2e6fdb2a5a",
18
+ "UniswapV4MigratorHook": "0x53c050d3b09c80024138165520bd7c078d9e2000"
19
+ },
20
+ "1301": {
21
+ "Airlock": "0x0d2f38d807bfad5c18e430516e10ab560d300caf",
22
+ "AirlockMultisig": "0x40bcb4dda3bcf7dba30c5d10c31ee2791ed9ddca",
23
+ "Bundler": "0xed344444633b965cd148f8ffce3765938a179094",
24
+ "DopplerDeployer": "0x77b5f559ee9cf3bfcf2fff5731a84332d8eecac9",
25
+ "DopplerLensQuoter": "0x917da361072ce968acd810bbfc9b64079426ebf0",
26
+ "GovernanceFactory": "0x4225c632b62622bd7b0a3ec9745c0a866ff94f6f",
27
+ "LockableUniswapV3Initializer": "0x9dfb775db7b005d9dc77da84d8b2e42c281d0344",
28
+ "NoOpGovernanceFactory": "0x7e5d336a6e9e453c9f02e5102cc039e015fd8fb8",
29
+ "NoOpMigrator": "0x193f48a45b6025dded10bc4baeef65c833696387",
30
+ "StreamableFeesLocker": "0x1728e8b3282502f275949109331e070b819b38ea",
31
+ "TokenFactory": "0x82ac010c67f70bacf7655cd8948a4ad92a173cac",
32
+ "UniswapV2Migrator": "0x620e3fec244e913d73f2163623b62d02db69638b",
33
+ "UniswapV3Initializer": "0xe0dc4012ac9c868f09c6e4b20d66ed46d6f258d0",
34
+ "UniswapV4Initializer": "0x70d20cd48791e527036491dc464c8dc58351dd93",
35
+ "UniswapV4Migrator": "0xb6d69eaa98e657beeff7ca4452768e6f707aa6b1",
36
+ "UniswapV4MigratorHook": "0xfb0671ec46190b09255776d2d77744fa101ba500",
37
+ "UniswapV4MulticurveInitializer": "0xac7939f1b4079d55a7fa4dfa314ac0173a77ba40",
38
+ "UniswapV4MulticurveInitializerHook": "0x11b55a121a38fdab8faf16f9f1a4f124e3f42d40"
39
+ },
40
+ "4801": {
41
+ "Airlock": "0x5f3ba43d44375286296cb85f1ea2ebfa25dde731",
42
+ "GovernanceFactory": "0x136191b46478cab023cbc01a36160c4aad81677a",
43
+ "TokenFactory": "0x5fbe931dc4b923a7abe4c47ad68d5bf9eda5b76d",
44
+ "UniswapV2Migrator": "0x8b4c7db9121fc885689c0a50d5a1429f15aec2a0",
45
+ "UniswapV3Initializer": "0x9916ec1c1e0462f6f8f7514e414f06bf001ac82a",
46
+ "WETH": "0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12"
47
+ },
48
+ "8453": {
49
+ "Airlock": "0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12",
50
+ "Bundler": "0x136191b46478cab023cbc01a36160c4aad81677a",
51
+ "DopplerDeployer": "0x49f3fbb2dff7f3d03b622e3b2a6d3f2e6fdb2a5a",
52
+ "DopplerLensQuoter": "0x43d0d97ec9241a8f05a264f94b82a1d2e600f2b3",
53
+ "GovernanceFactory": "0xa82c66b6ddeb92089015c3565e05b5c9750b2d4b",
54
+ "LockableUniswapV3Initializer": "0xe0dc4012ac9c868f09c6e4b20d66ed46d6f258d0",
55
+ "NoOpGovernanceFactory": "0x3ad727ee0fbbb8ee0920933fdb96f23fd56f1299",
56
+ "NoOpMigrator": "0x6ddfed58d238ca3195e49d8ac3d4cea6386e5c33",
57
+ "StreamableFeesLocker": "0x0a00775d71a42cd33d62780003035e7f5b47bd3a",
58
+ "TokenFactory": "0x4225c632b62622bd7b0a3ec9745c0a866ff94f6f",
59
+ "UniswapV2Migrator": "0x5f3ba43d44375286296cb85f1ea2ebfa25dde731",
60
+ "UniswapV3Initializer": "0xaa47d2977d622dbdfd33eef6a8276727c52eb4e5",
61
+ "UniswapV4Initializer": "0xed344444633b965cd148f8ffce3765938a179094",
62
+ "UniswapV4Migrator": "0x166109c4ee7fe69164631caa937daa5f5cebfef0",
63
+ "UniswapV4MigratorHook": "0x45178a8d6d368d612b7552b217802b7f97262000",
64
+ "UniswapV4MulticurveInitializer": "0x65de470da664a5be139a5d812be5fda0d76cc951",
65
+ "UniswapV4MulticurveInitializerHook": "0x892d3c2b4abeaaf67d52a7b29783e2161b7cad40"
66
+ },
67
+ "10143": {
68
+ "Airlock": "0x5f3ba43d44375286296cb85f1ea2ebfa25dde731",
69
+ "GovernanceFactory": "0x136191b46478cab023cbc01a36160c4aad81677a",
70
+ "TokenFactory": "0x5fbe931dc4b923a7abe4c47ad68d5bf9eda5b76d",
71
+ "UniswapV2Migrator": "0x8b4c7db9121fc885689c0a50d5a1429f15aec2a0",
72
+ "UniswapV3Initializer": "0x9916ec1c1e0462f6f8f7514e414f06bf001ac82a",
73
+ "WETH": "0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12"
74
+ },
75
+ "57073": {
76
+ "Airlock": "0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12",
77
+ "Bundler": "0x136191b46478cab023cbc01a36160c4aad81677a",
78
+ "DopplerDeployer": "0xa82c66b6ddeb92089015c3565e05b5c9750b2d4b",
79
+ "DopplerLensQuoter": "0x8af018e28c273826e6b2d5a99e81c8fb63729b07",
80
+ "GovernanceFactory": "0xb4dee32eb70a5e55f3d2d861f49fb3d79f7a14d9",
81
+ "TokenFactory": "0xfaafde6a5b658684cc5eb0c5c2c755b00a246f45",
82
+ "UniswapV2Migrator": "0x5f3ba43d44375286296cb85f1ea2ebfa25dde731",
83
+ "UniswapV3Initializer": "0xaa47d2977d622dbdfd33eef6a8276727c52eb4e5",
84
+ "UniswapV4Initializer": "0x014e1c0bd34f3b10546e554cb33b3293fecdd056"
85
+ },
86
+ "84532": {
87
+ "Airlock": "0x3411306ce66c9469bff1535ba955503c4bde1c6e",
88
+ "AirlockMultisig": "0x852a09c89463d236eea2f097623574f23e225769",
89
+ "BasicMultisig": "0x6f645fa08b7eadad620cec85634204b1d7a46dc2",
90
+ "Bundler": "0xab7bacb0d5c2c10152f92d34e07f530eb3cb0fb1",
91
+ "DopplerDeployer": "0x82d727ffda3f874da802663fc2f3f4b83dc3aaba",
92
+ "DopplerLensQuoter": "0x4a8d81db741248a36d9eb3bc6ef648bf798b47a7",
93
+ "GovernanceFactory": "0x9dbfaadc8c0cb2c34ba698dd9426555336992e20",
94
+ "LockableUniswapV3Initializer": "0x16ada5be50c3c2d94af5feae6b539c40a78ad53c",
95
+ "NoOpGovernanceFactory": "0x7bd798fafc99a3b17e261f8308a8c11b56935ea1",
96
+ "NoOpMigrator": "0xf11066abbd329ac4bba39455340539322c222eb0",
97
+ "StreamableFeesLocker": "0x3345e557c5c0b474be1eb4693264008b8562aa9c",
98
+ "TokenFactory": "0x9d8fd79b2a59c5d91ccbd79c3aeb4de56451bb02",
99
+ "UniswapV2Migrator": "0x04a898f3722c38f9def707bd17dc78920efa977c",
100
+ "UniswapV3Initializer": "0x4c3062b9ccfdbcb10353f57c1b59a29d4c5cfa47",
101
+ "UniswapV4Initializer": "0x832e4763deecb9941a768f2bbd18583219f018cc",
102
+ "UniswapV4Migrator": "0xf326d8cdb65a4ad334cfbdd7d3a3cb27be8b770d",
103
+ "UniswapV4MigratorHook": "0x9d0c38a80647e53d5a8a319b39de2b66b8586500",
104
+ "UniswapV4MulticurveInitializer": "0x8099ef6a2100a5ac02af275eed606babd38a1689",
105
+ "UniswapV4MulticurveInitializerHook": "0xf1a484724e2451d2c0290c946ec0034f057d6d40",
106
+ "WETH": "0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12"
107
+ }
108
+ };
109
+
110
+ export { GENERATED_DOPPLER_DEPLOYMENTS };
111
+ //# sourceMappingURL=chunk-5XZC45NR.mjs.map
112
+ //# sourceMappingURL=chunk-5XZC45NR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/deployments.generated.ts"],"names":[],"mappings":";AAYO,IAAM,6BAAA,GAAgC;AAAA,EAC3C,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,4CAAA;AAAA,IACX,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,8BAAA,EAAgC,4CAAA;AAAA,IAChC,uBAAA,EAAyB,4CAAA;AAAA,IACzB,cAAA,EAAgB,4CAAA;AAAA,IAChB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,uBAAA,EAAyB;AAAA,GAC3B;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,8BAAA,EAAgC,4CAAA;AAAA,IAChC,uBAAA,EAAyB,4CAAA;AAAA,IACzB,cAAA,EAAgB,4CAAA;AAAA,IAChB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,uBAAA,EAAyB,4CAAA;AAAA,IACzB,gCAAA,EAAkC,4CAAA;AAAA,IAClC,oCAAA,EAAsC;AAAA,GACxC;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,mBAAA,EAAqB,4CAAA;AAAA,IACrB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,8BAAA,EAAgC,4CAAA;AAAA,IAChC,uBAAA,EAAyB,4CAAA;AAAA,IACzB,cAAA,EAAgB,4CAAA;AAAA,IAChB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,uBAAA,EAAyB,4CAAA;AAAA,IACzB,gCAAA,EAAkC,4CAAA;AAAA,IAClC,oCAAA,EAAsC;AAAA,GACxC;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,4CAAA;AAAA,IACX,mBAAA,EAAqB,4CAAA;AAAA,IACrB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,4CAAA;AAAA,IACX,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,sBAAA,EAAwB;AAAA,GAC1B;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,eAAA,EAAiB,4CAAA;AAAA,IACjB,SAAA,EAAW,4CAAA;AAAA,IACX,iBAAA,EAAmB,4CAAA;AAAA,IACnB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,8BAAA,EAAgC,4CAAA;AAAA,IAChC,uBAAA,EAAyB,4CAAA;AAAA,IACzB,cAAA,EAAgB,4CAAA;AAAA,IAChB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,cAAA,EAAgB,4CAAA;AAAA,IAChB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,sBAAA,EAAwB,4CAAA;AAAA,IACxB,mBAAA,EAAqB,4CAAA;AAAA,IACrB,uBAAA,EAAyB,4CAAA;AAAA,IACzB,gCAAA,EAAkC,4CAAA;AAAA,IAClC,oCAAA,EAAsC,4CAAA;AAAA,IACtC,MAAA,EAAQ;AAAA;AAEZ","file":"chunk-5XZC45NR.mjs","sourcesContent":["// AUTO-GENERATED FILE. DO NOT EDIT.\n// Generated by scripts/generate-addresses.mjs\n// Source: ../doppler/Deployments.json\n// Timestamp: 2025-10-09T21:31:03.930Z\n// WARNING: This file is an internal build artifact and is NOT part of the public API.\n// WARNING: Do NOT import from this file directly. It should not appear in IDE IntelliSense/suggestions.\n// WARNING: If you need Doppler addresses, import from @addresses.ts instead (e.g. use ADDRESSES / getAddresses).\n\n/** @internal */\nexport type GeneratedDopplerDeployments = Record<string, Record<string, string>>\n\n/** @internal */\nexport const GENERATED_DOPPLER_DEPLOYMENTS = {\n \"130\": {\n \"Airlock\": \"0x77ebfbae15ad200758e9e2e61597c0b07d731254\",\n \"Bundler\": \"0x91231cddd8d6c86df602070a3081478e074b97b7\",\n \"DopplerDeployer\": \"0x0d2f38d807bfad5c18e430516e10ab560d300caf\",\n \"DopplerLensQuoter\": \"0x82ac010c67f70bacf7655cd8948a4ad92a173cac\",\n \"GovernanceFactory\": \"0x99c94b9df930e1e21a4e4a2c105dbff21bf5c5ae\",\n \"LockableUniswapV3Initializer\": \"0xa3c847eab58eaa9cbc215c785c9cfbc19cdabd5f\",\n \"NoOpGovernanceFactory\": \"0x3ad727ee0fbbb8ee0920933fdb96f23fd56f1299\",\n \"NoOpMigrator\": \"0x917da361072ce968acd810bbfc9b64079426ebf0\",\n \"StreamableFeesLocker\": \"0x6ddfed58d238ca3195e49d8ac3d4cea6386e5c33\",\n \"TokenFactory\": \"0x43d0d97ec9241a8f05a264f94b82a1d2e600f2b3\",\n \"UniswapV2Migrator\": \"0xf6023127f6e937091d5b605680056a6d27524bad\",\n \"UniswapV3Initializer\": \"0x9f4e56be80f08ba1a2445645efa6d231e27b43ec\",\n \"UniswapV4Initializer\": \"0x4b0ec16eb40318ca5a4346f20f04a2285c19675b\",\n \"UniswapV4Migrator\": \"0x49f3fbb2dff7f3d03b622e3b2a6d3f2e6fdb2a5a\",\n \"UniswapV4MigratorHook\": \"0x53c050d3b09c80024138165520bd7c078d9e2000\"\n },\n \"1301\": {\n \"Airlock\": \"0x0d2f38d807bfad5c18e430516e10ab560d300caf\",\n \"AirlockMultisig\": \"0x40bcb4dda3bcf7dba30c5d10c31ee2791ed9ddca\",\n \"Bundler\": \"0xed344444633b965cd148f8ffce3765938a179094\",\n \"DopplerDeployer\": \"0x77b5f559ee9cf3bfcf2fff5731a84332d8eecac9\",\n \"DopplerLensQuoter\": \"0x917da361072ce968acd810bbfc9b64079426ebf0\",\n \"GovernanceFactory\": \"0x4225c632b62622bd7b0a3ec9745c0a866ff94f6f\",\n \"LockableUniswapV3Initializer\": \"0x9dfb775db7b005d9dc77da84d8b2e42c281d0344\",\n \"NoOpGovernanceFactory\": \"0x7e5d336a6e9e453c9f02e5102cc039e015fd8fb8\",\n \"NoOpMigrator\": \"0x193f48a45b6025dded10bc4baeef65c833696387\",\n \"StreamableFeesLocker\": \"0x1728e8b3282502f275949109331e070b819b38ea\",\n \"TokenFactory\": \"0x82ac010c67f70bacf7655cd8948a4ad92a173cac\",\n \"UniswapV2Migrator\": \"0x620e3fec244e913d73f2163623b62d02db69638b\",\n \"UniswapV3Initializer\": \"0xe0dc4012ac9c868f09c6e4b20d66ed46d6f258d0\",\n \"UniswapV4Initializer\": \"0x70d20cd48791e527036491dc464c8dc58351dd93\",\n \"UniswapV4Migrator\": \"0xb6d69eaa98e657beeff7ca4452768e6f707aa6b1\",\n \"UniswapV4MigratorHook\": \"0xfb0671ec46190b09255776d2d77744fa101ba500\",\n \"UniswapV4MulticurveInitializer\": \"0xac7939f1b4079d55a7fa4dfa314ac0173a77ba40\",\n \"UniswapV4MulticurveInitializerHook\": \"0x11b55a121a38fdab8faf16f9f1a4f124e3f42d40\"\n },\n \"4801\": {\n \"Airlock\": \"0x5f3ba43d44375286296cb85f1ea2ebfa25dde731\",\n \"GovernanceFactory\": \"0x136191b46478cab023cbc01a36160c4aad81677a\",\n \"TokenFactory\": \"0x5fbe931dc4b923a7abe4c47ad68d5bf9eda5b76d\",\n \"UniswapV2Migrator\": \"0x8b4c7db9121fc885689c0a50d5a1429f15aec2a0\",\n \"UniswapV3Initializer\": \"0x9916ec1c1e0462f6f8f7514e414f06bf001ac82a\",\n \"WETH\": \"0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12\"\n },\n \"8453\": {\n \"Airlock\": \"0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12\",\n \"Bundler\": \"0x136191b46478cab023cbc01a36160c4aad81677a\",\n \"DopplerDeployer\": \"0x49f3fbb2dff7f3d03b622e3b2a6d3f2e6fdb2a5a\",\n \"DopplerLensQuoter\": \"0x43d0d97ec9241a8f05a264f94b82a1d2e600f2b3\",\n \"GovernanceFactory\": \"0xa82c66b6ddeb92089015c3565e05b5c9750b2d4b\",\n \"LockableUniswapV3Initializer\": \"0xe0dc4012ac9c868f09c6e4b20d66ed46d6f258d0\",\n \"NoOpGovernanceFactory\": \"0x3ad727ee0fbbb8ee0920933fdb96f23fd56f1299\",\n \"NoOpMigrator\": \"0x6ddfed58d238ca3195e49d8ac3d4cea6386e5c33\",\n \"StreamableFeesLocker\": \"0x0a00775d71a42cd33d62780003035e7f5b47bd3a\",\n \"TokenFactory\": \"0x4225c632b62622bd7b0a3ec9745c0a866ff94f6f\",\n \"UniswapV2Migrator\": \"0x5f3ba43d44375286296cb85f1ea2ebfa25dde731\",\n \"UniswapV3Initializer\": \"0xaa47d2977d622dbdfd33eef6a8276727c52eb4e5\",\n \"UniswapV4Initializer\": \"0xed344444633b965cd148f8ffce3765938a179094\",\n \"UniswapV4Migrator\": \"0x166109c4ee7fe69164631caa937daa5f5cebfef0\",\n \"UniswapV4MigratorHook\": \"0x45178a8d6d368d612b7552b217802b7f97262000\",\n \"UniswapV4MulticurveInitializer\": \"0x65de470da664a5be139a5d812be5fda0d76cc951\",\n \"UniswapV4MulticurveInitializerHook\": \"0x892d3c2b4abeaaf67d52a7b29783e2161b7cad40\"\n },\n \"10143\": {\n \"Airlock\": \"0x5f3ba43d44375286296cb85f1ea2ebfa25dde731\",\n \"GovernanceFactory\": \"0x136191b46478cab023cbc01a36160c4aad81677a\",\n \"TokenFactory\": \"0x5fbe931dc4b923a7abe4c47ad68d5bf9eda5b76d\",\n \"UniswapV2Migrator\": \"0x8b4c7db9121fc885689c0a50d5a1429f15aec2a0\",\n \"UniswapV3Initializer\": \"0x9916ec1c1e0462f6f8f7514e414f06bf001ac82a\",\n \"WETH\": \"0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12\"\n },\n \"57073\": {\n \"Airlock\": \"0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12\",\n \"Bundler\": \"0x136191b46478cab023cbc01a36160c4aad81677a\",\n \"DopplerDeployer\": \"0xa82c66b6ddeb92089015c3565e05b5c9750b2d4b\",\n \"DopplerLensQuoter\": \"0x8af018e28c273826e6b2d5a99e81c8fb63729b07\",\n \"GovernanceFactory\": \"0xb4dee32eb70a5e55f3d2d861f49fb3d79f7a14d9\",\n \"TokenFactory\": \"0xfaafde6a5b658684cc5eb0c5c2c755b00a246f45\",\n \"UniswapV2Migrator\": \"0x5f3ba43d44375286296cb85f1ea2ebfa25dde731\",\n \"UniswapV3Initializer\": \"0xaa47d2977d622dbdfd33eef6a8276727c52eb4e5\",\n \"UniswapV4Initializer\": \"0x014e1c0bd34f3b10546e554cb33b3293fecdd056\"\n },\n \"84532\": {\n \"Airlock\": \"0x3411306ce66c9469bff1535ba955503c4bde1c6e\",\n \"AirlockMultisig\": \"0x852a09c89463d236eea2f097623574f23e225769\",\n \"BasicMultisig\": \"0x6f645fa08b7eadad620cec85634204b1d7a46dc2\",\n \"Bundler\": \"0xab7bacb0d5c2c10152f92d34e07f530eb3cb0fb1\",\n \"DopplerDeployer\": \"0x82d727ffda3f874da802663fc2f3f4b83dc3aaba\",\n \"DopplerLensQuoter\": \"0x4a8d81db741248a36d9eb3bc6ef648bf798b47a7\",\n \"GovernanceFactory\": \"0x9dbfaadc8c0cb2c34ba698dd9426555336992e20\",\n \"LockableUniswapV3Initializer\": \"0x16ada5be50c3c2d94af5feae6b539c40a78ad53c\",\n \"NoOpGovernanceFactory\": \"0x7bd798fafc99a3b17e261f8308a8c11b56935ea1\",\n \"NoOpMigrator\": \"0xf11066abbd329ac4bba39455340539322c222eb0\",\n \"StreamableFeesLocker\": \"0x3345e557c5c0b474be1eb4693264008b8562aa9c\",\n \"TokenFactory\": \"0x9d8fd79b2a59c5d91ccbd79c3aeb4de56451bb02\",\n \"UniswapV2Migrator\": \"0x04a898f3722c38f9def707bd17dc78920efa977c\",\n \"UniswapV3Initializer\": \"0x4c3062b9ccfdbcb10353f57c1b59a29d4c5cfa47\",\n \"UniswapV4Initializer\": \"0x832e4763deecb9941a768f2bbd18583219f018cc\",\n \"UniswapV4Migrator\": \"0xf326d8cdb65a4ad334cfbdd7d3a3cb27be8b770d\",\n \"UniswapV4MigratorHook\": \"0x9d0c38a80647e53d5a8a319b39de2b66b8586500\",\n \"UniswapV4MulticurveInitializer\": \"0x8099ef6a2100a5ac02af275eed606babd38a1689\",\n \"UniswapV4MulticurveInitializerHook\": \"0xf1a484724e2451d2c0290c946ec0034f057d6d40\",\n \"WETH\": \"0x660eaaedebc968f8f3694354fa8ec0b4c5ba8d12\"\n }\n} as const\n"]}
@@ -1,5 +1,5 @@
1
1
  import { uniswapV3PoolAbi, airlockAbi } from './chunk-B63YWMNA.mjs';
2
- import { getAddresses } from './chunk-ZB4IGCJ4.mjs';
2
+ import { getAddresses } from './chunk-PIFAU7X6.mjs';
3
3
  import { zeroAddress } from 'viem';
4
4
 
5
5
  var StaticAuction = class {
@@ -137,5 +137,5 @@ var StaticAuction = class {
137
137
  };
138
138
 
139
139
  export { StaticAuction };
140
- //# sourceMappingURL=chunk-GLZIREIW.mjs.map
141
- //# sourceMappingURL=chunk-GLZIREIW.mjs.map
140
+ //# sourceMappingURL=chunk-6FVJZEMS.mjs.map
141
+ //# sourceMappingURL=chunk-6FVJZEMS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entities/auction/StaticAuction.ts"],"names":[],"mappings":"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","file":"chunk-GLZIREIW.mjs","sourcesContent":["import { type Address, getAddress, zeroAddress, type PublicClient } from 'viem'\nimport type { PoolInfo, SupportedPublicClient } from '../../types'\nimport { uniswapV3PoolAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * StaticAuction class for interacting with static auctions (Uniswap V3 based)\n * \n * Static auctions use a fixed price range on Uniswap V3 for initial liquidity bootstrapping.\n * This is ideal for simple, predictable price discovery events.\n */\nexport class StaticAuction {\n private client: SupportedPublicClient\n private poolAddress: Address\n private get rpc(): PublicClient {\n return this.client as PublicClient\n }\n \n constructor(client: SupportedPublicClient, poolAddress: Address) {\n this.client = client\n this.poolAddress = poolAddress\n }\n \n /**\n * Get the pool address\n */\n getAddress(): Address {\n return this.poolAddress\n }\n \n /**\n * Get current pool information\n */\n async getPoolInfo(): Promise<PoolInfo> {\n // Fetch all pool data in parallel\n const [slot0, liquidity, token0, token1, fee] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'slot0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'fee',\n }),\n ])\n \n // Determine which token is the auction token and which is numeraire\n // This requires checking with the Airlock contract\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [token0],\n })\n // Determine whether token0 is the auction token.\n // Handle both tuple and object return shapes from getAssetData.\n // Tuple (legacy): [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, ...]\n // Object (unified): { poolOrHook, liquidityMigrator, numeraire, ... }\n let poolOrHook0: any\n if (Array.isArray(assetData)) {\n poolOrHook0 = assetData[5]\n } else if (assetData && typeof assetData === 'object') {\n poolOrHook0 = (assetData as any).poolOrHook ?? (assetData as any).pool\n }\n const isToken0AuctionToken = poolOrHook0 && poolOrHook0 !== zeroAddress\n \n return {\n address: this.poolAddress,\n tokenAddress: isToken0AuctionToken ? token0 : token1,\n numeraireAddress: isToken0AuctionToken ? token1 : token0,\n fee,\n liquidity,\n sqrtPriceX96: slot0[0], // First element is sqrtPriceX96\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolInfo = await this.getPoolInfo()\n return poolInfo.tokenAddress\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n // Check if the asset is graduated (liquidityMigrator is zero)\n const liquidityMigrator = Array.isArray(assetData)\n ? (assetData as any)[3]\n : (assetData as any)?.liquidityMigrator\n return liquidityMigrator === zeroAddress\n }\n \n /**\n * Get the current price in the pool\n * Returns the price of token in terms of numeraire (token/numeraire)\n */\n async getCurrentPrice(): Promise<bigint> {\n const poolInfo = await this.getPoolInfo()\n \n // Get token ordering\n const [token0, token1] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n ])\n \n // Calculate price from sqrtPriceX96\n // sqrtPriceX96 = sqrt(price) * 2^96\n // price = (sqrtPriceX96 / 2^96)^2\n const sqrtPriceX96 = poolInfo.sqrtPriceX96\n const Q96 = BigInt(2) ** BigInt(96)\n \n // price0 = amount of token1 per token0\n const sqrtPriceX96Squared = sqrtPriceX96 * sqrtPriceX96\n const Q96Squared = Q96 * Q96\n const price0 = sqrtPriceX96Squared / Q96Squared\n \n // Return price based on which token is the auction token\n if (poolInfo.tokenAddress === token0) {\n // Auction token is token0, return price in terms of token1 (numeraire)\n return price0\n } else {\n // Auction token is token1, return reciprocal price\n // price1 = 1 / price0 (with precision handling)\n return Q96Squared / price0\n }\n }\n \n /**\n * Get total liquidity in the pool\n */\n async getTotalLiquidity(): Promise<bigint> {\n return await this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/entities/auction/StaticAuction.ts"],"names":[],"mappings":"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","file":"chunk-6FVJZEMS.mjs","sourcesContent":["import { type Address, getAddress, zeroAddress, type PublicClient } from 'viem'\nimport type { PoolInfo, SupportedPublicClient } from '../../types'\nimport { uniswapV3PoolAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * StaticAuction class for interacting with static auctions (Uniswap V3 based)\n * \n * Static auctions use a fixed price range on Uniswap V3 for initial liquidity bootstrapping.\n * This is ideal for simple, predictable price discovery events.\n */\nexport class StaticAuction {\n private client: SupportedPublicClient\n private poolAddress: Address\n private get rpc(): PublicClient {\n return this.client as PublicClient\n }\n \n constructor(client: SupportedPublicClient, poolAddress: Address) {\n this.client = client\n this.poolAddress = poolAddress\n }\n \n /**\n * Get the pool address\n */\n getAddress(): Address {\n return this.poolAddress\n }\n \n /**\n * Get current pool information\n */\n async getPoolInfo(): Promise<PoolInfo> {\n // Fetch all pool data in parallel\n const [slot0, liquidity, token0, token1, fee] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'slot0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'fee',\n }),\n ])\n \n // Determine which token is the auction token and which is numeraire\n // This requires checking with the Airlock contract\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [token0],\n })\n // Determine whether token0 is the auction token.\n // Handle both tuple and object return shapes from getAssetData.\n // Tuple (legacy): [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, ...]\n // Object (unified): { poolOrHook, liquidityMigrator, numeraire, ... }\n let poolOrHook0: any\n if (Array.isArray(assetData)) {\n poolOrHook0 = assetData[5]\n } else if (assetData && typeof assetData === 'object') {\n poolOrHook0 = (assetData as any).poolOrHook ?? (assetData as any).pool\n }\n const isToken0AuctionToken = poolOrHook0 && poolOrHook0 !== zeroAddress\n \n return {\n address: this.poolAddress,\n tokenAddress: isToken0AuctionToken ? token0 : token1,\n numeraireAddress: isToken0AuctionToken ? token1 : token0,\n fee,\n liquidity,\n sqrtPriceX96: slot0[0], // First element is sqrtPriceX96\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolInfo = await this.getPoolInfo()\n return poolInfo.tokenAddress\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n // Check if the asset is graduated (liquidityMigrator is zero)\n const liquidityMigrator = Array.isArray(assetData)\n ? (assetData as any)[3]\n : (assetData as any)?.liquidityMigrator\n return liquidityMigrator === zeroAddress\n }\n \n /**\n * Get the current price in the pool\n * Returns the price of token in terms of numeraire (token/numeraire)\n */\n async getCurrentPrice(): Promise<bigint> {\n const poolInfo = await this.getPoolInfo()\n \n // Get token ordering\n const [token0, token1] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n ])\n \n // Calculate price from sqrtPriceX96\n // sqrtPriceX96 = sqrt(price) * 2^96\n // price = (sqrtPriceX96 / 2^96)^2\n const sqrtPriceX96 = poolInfo.sqrtPriceX96\n const Q96 = BigInt(2) ** BigInt(96)\n \n // price0 = amount of token1 per token0\n const sqrtPriceX96Squared = sqrtPriceX96 * sqrtPriceX96\n const Q96Squared = Q96 * Q96\n const price0 = sqrtPriceX96Squared / Q96Squared\n \n // Return price based on which token is the auction token\n if (poolInfo.tokenAddress === token0) {\n // Auction token is token0, return price in terms of token1 (numeraire)\n return price0\n } else {\n // Auction token is token1, return reciprocal price\n // price1 = 1 / price0 (with precision handling)\n return Q96Squared / price0\n }\n }\n \n /**\n * Get total liquidity in the pool\n */\n async getTotalLiquidity(): Promise<bigint> {\n return await this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n })\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFAFU27VH_js = require('./chunk-FAFU27VH.js');
4
- var chunkKEYVLYK4_js = require('./chunk-KEYVLYK4.js');
4
+ var chunkEKZJGUYF_js = require('./chunk-EKZJGUYF.js');
5
5
  var viem = require('viem');
6
6
 
7
7
  var StaticAuction = class {
@@ -50,7 +50,7 @@ var StaticAuction = class {
50
50
  })
51
51
  ]);
52
52
  const chainId = await this.rpc.getChainId();
53
- const addresses = chunkKEYVLYK4_js.getAddresses(chainId);
53
+ const addresses = chunkEKZJGUYF_js.getAddresses(chainId);
54
54
  const assetData = await this.rpc.readContract({
55
55
  address: addresses.airlock,
56
56
  abi: chunkFAFU27VH_js.airlockAbi,
@@ -87,7 +87,7 @@ var StaticAuction = class {
87
87
  async hasGraduated() {
88
88
  const tokenAddress = await this.getTokenAddress();
89
89
  const chainId = await this.rpc.getChainId();
90
- const addresses = chunkKEYVLYK4_js.getAddresses(chainId);
90
+ const addresses = chunkEKZJGUYF_js.getAddresses(chainId);
91
91
  const assetData = await this.rpc.readContract({
92
92
  address: addresses.airlock,
93
93
  abi: chunkFAFU27VH_js.airlockAbi,
@@ -139,5 +139,5 @@ var StaticAuction = class {
139
139
  };
140
140
 
141
141
  exports.StaticAuction = StaticAuction;
142
- //# sourceMappingURL=chunk-5HSBW3AJ.js.map
143
- //# sourceMappingURL=chunk-5HSBW3AJ.js.map
142
+ //# sourceMappingURL=chunk-74TRSQE6.js.map
143
+ //# sourceMappingURL=chunk-74TRSQE6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/entities/auction/StaticAuction.ts"],"names":["uniswapV3PoolAbi","getAddresses","airlockAbi","zeroAddress"],"mappings":";;;;;;AAWO,IAAM,gBAAN,MAAoB;AAAA,EAGzB,IAAY,GAAA,GAAoB;AAC9B,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AAAA,EAEA,WAAA,CAAY,QAA+B,WAAA,EAAsB;AAC/D,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,WAAA,GAAc,WAAA;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,GAAsB;AACpB,IAAA,OAAO,IAAA,CAAK,WAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAA,GAAiC;AAErC,IAAA,MAAM,CAAC,OAAO,SAAA,EAAW,MAAA,EAAQ,QAAQ,GAAG,CAAA,GAAI,MAAM,OAAA,CAAQ,GAAA,CAAI;AAAA,MAChE,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,MACD,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,MACD,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,MACD,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,MACD,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf;AAAA,KACF,CAAA;AAID,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,GAAA,CAAI,UAAA,EAAW;AAC1C,IAAA,MAAM,SAAA,GAAYC,8BAAa,OAAO,CAAA;AAEtC,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,GAAA,CAAI,YAAA,CAAa;AAAA,MAC5C,SAAS,SAAA,CAAU,OAAA;AAAA,MACnB,GAAA,EAAKC,2BAAA;AAAA,MACL,YAAA,EAAc,cAAA;AAAA,MACd,IAAA,EAAM,CAAC,MAAM;AAAA,KACd,CAAA;AAKD,IAAA,IAAI,WAAA;AACJ,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,SAAS,CAAA,EAAG;AAC5B,MAAA,WAAA,GAAc,UAAU,CAAC,CAAA;AAAA,IAC3B,CAAA,MAAA,IAAW,SAAA,IAAa,OAAO,SAAA,KAAc,QAAA,EAAU;AACrD,MAAA,WAAA,GAAe,SAAA,CAAkB,cAAe,SAAA,CAAkB,IAAA;AAAA,IACpE;AACA,IAAA,MAAM,oBAAA,GAAuB,eAAe,WAAA,KAAgBC,gBAAA;AAE5D,IAAA,OAAO;AAAA,MACL,SAAS,IAAA,CAAK,WAAA;AAAA,MACd,YAAA,EAAc,uBAAuB,MAAA,GAAS,MAAA;AAAA,MAC9C,gBAAA,EAAkB,uBAAuB,MAAA,GAAS,MAAA;AAAA,MAClD,GAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA,EAAc,MAAM,CAAC;AAAA;AAAA,KACvB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,eAAA,GAAoC;AACxC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,WAAA,EAAY;AACxC,IAAA,OAAO,QAAA,CAAS,YAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAA,GAAiC;AACrC,IAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,eAAA,EAAgB;AAChD,IAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,GAAA,CAAI,UAAA,EAAW;AAC1C,IAAA,MAAM,SAAA,GAAYF,8BAAa,OAAO,CAAA;AAEtC,IAAA,MAAM,SAAA,GAAY,MAAM,IAAA,CAAK,GAAA,CAAI,YAAA,CAAa;AAAA,MAC5C,SAAS,SAAA,CAAU,OAAA;AAAA,MACnB,GAAA,EAAKC,2BAAA;AAAA,MACL,YAAA,EAAc,cAAA;AAAA,MACd,IAAA,EAAM,CAAC,YAAY;AAAA,KACpB,CAAA;AAED,IAAA,MAAM,iBAAA,GAAoB,MAAM,OAAA,CAAQ,SAAS,IAC5C,SAAA,CAAkB,CAAC,IACnB,SAAA,EAAmB,iBAAA;AACxB,IAAA,OAAO,iBAAA,KAAsBC,gBAAA;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,eAAA,GAAmC;AACvC,IAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,WAAA,EAAY;AAGxC,IAAA,MAAM,CAAC,MAAA,EAAQ,MAAM,CAAA,GAAI,MAAM,QAAQ,GAAA,CAAI;AAAA,MACzC,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKH,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf,CAAA;AAAA,MACD,IAAA,CAAK,IAAI,YAAA,CAAa;AAAA,QACpB,SAAS,IAAA,CAAK,WAAA;AAAA,QACd,GAAA,EAAKA,iCAAA;AAAA,QACL,YAAA,EAAc;AAAA,OACf;AAAA,KACF,CAAA;AAKD,IAAA,MAAM,eAAe,QAAA,CAAS,YAAA;AAC9B,IAAA,MAAM,GAAA,GAAM,MAAA,CAAO,CAAC,CAAA,IAAK,OAAO,EAAE,CAAA;AAGlC,IAAA,MAAM,sBAAsB,YAAA,GAAe,YAAA;AAC3C,IAAA,MAAM,aAAa,GAAA,GAAM,GAAA;AACzB,IAAA,MAAM,SAAS,mBAAA,GAAsB,UAAA;AAGrC,IAAA,IAAI,QAAA,CAAS,iBAAiB,MAAA,EAAQ;AAEpC,MAAA,OAAO,MAAA;AAAA,IACT,CAAA,MAAO;AAGL,MAAA,OAAO,UAAA,GAAa,MAAA;AAAA,IACtB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,iBAAA,GAAqC;AACzC,IAAA,OAAO,MAAM,IAAA,CAAK,GAAA,CAAI,YAAA,CAAa;AAAA,MACjC,SAAS,IAAA,CAAK,WAAA;AAAA,MACd,GAAA,EAAKA,iCAAA;AAAA,MACL,YAAA,EAAc;AAAA,KACf,CAAA;AAAA,EACH;AACF","file":"chunk-5HSBW3AJ.js","sourcesContent":["import { type Address, getAddress, zeroAddress, type PublicClient } from 'viem'\nimport type { PoolInfo, SupportedPublicClient } from '../../types'\nimport { uniswapV3PoolAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * StaticAuction class for interacting with static auctions (Uniswap V3 based)\n * \n * Static auctions use a fixed price range on Uniswap V3 for initial liquidity bootstrapping.\n * This is ideal for simple, predictable price discovery events.\n */\nexport class StaticAuction {\n private client: SupportedPublicClient\n private poolAddress: Address\n private get rpc(): PublicClient {\n return this.client as PublicClient\n }\n \n constructor(client: SupportedPublicClient, poolAddress: Address) {\n this.client = client\n this.poolAddress = poolAddress\n }\n \n /**\n * Get the pool address\n */\n getAddress(): Address {\n return this.poolAddress\n }\n \n /**\n * Get current pool information\n */\n async getPoolInfo(): Promise<PoolInfo> {\n // Fetch all pool data in parallel\n const [slot0, liquidity, token0, token1, fee] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'slot0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'fee',\n }),\n ])\n \n // Determine which token is the auction token and which is numeraire\n // This requires checking with the Airlock contract\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [token0],\n })\n // Determine whether token0 is the auction token.\n // Handle both tuple and object return shapes from getAssetData.\n // Tuple (legacy): [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, ...]\n // Object (unified): { poolOrHook, liquidityMigrator, numeraire, ... }\n let poolOrHook0: any\n if (Array.isArray(assetData)) {\n poolOrHook0 = assetData[5]\n } else if (assetData && typeof assetData === 'object') {\n poolOrHook0 = (assetData as any).poolOrHook ?? (assetData as any).pool\n }\n const isToken0AuctionToken = poolOrHook0 && poolOrHook0 !== zeroAddress\n \n return {\n address: this.poolAddress,\n tokenAddress: isToken0AuctionToken ? token0 : token1,\n numeraireAddress: isToken0AuctionToken ? token1 : token0,\n fee,\n liquidity,\n sqrtPriceX96: slot0[0], // First element is sqrtPriceX96\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolInfo = await this.getPoolInfo()\n return poolInfo.tokenAddress\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n // Check if the asset is graduated (liquidityMigrator is zero)\n const liquidityMigrator = Array.isArray(assetData)\n ? (assetData as any)[3]\n : (assetData as any)?.liquidityMigrator\n return liquidityMigrator === zeroAddress\n }\n \n /**\n * Get the current price in the pool\n * Returns the price of token in terms of numeraire (token/numeraire)\n */\n async getCurrentPrice(): Promise<bigint> {\n const poolInfo = await this.getPoolInfo()\n \n // Get token ordering\n const [token0, token1] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n ])\n \n // Calculate price from sqrtPriceX96\n // sqrtPriceX96 = sqrt(price) * 2^96\n // price = (sqrtPriceX96 / 2^96)^2\n const sqrtPriceX96 = poolInfo.sqrtPriceX96\n const Q96 = BigInt(2) ** BigInt(96)\n \n // price0 = amount of token1 per token0\n const sqrtPriceX96Squared = sqrtPriceX96 * sqrtPriceX96\n const Q96Squared = Q96 * Q96\n const price0 = sqrtPriceX96Squared / Q96Squared\n \n // Return price based on which token is the auction token\n if (poolInfo.tokenAddress === token0) {\n // Auction token is token0, return price in terms of token1 (numeraire)\n return price0\n } else {\n // Auction token is token1, return reciprocal price\n // price1 = 1 / price0 (with precision handling)\n return Q96Squared / price0\n }\n }\n \n /**\n * Get total liquidity in the pool\n */\n async getTotalLiquidity(): Promise<bigint> {\n return await this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n })\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/entities/auction/StaticAuction.ts"],"names":["uniswapV3PoolAbi","getAddresses","airlockAbi","zeroAddress"],"mappings":"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","file":"chunk-74TRSQE6.js","sourcesContent":["import { type Address, getAddress, zeroAddress, type PublicClient } from 'viem'\nimport type { PoolInfo, SupportedPublicClient } from '../../types'\nimport { uniswapV3PoolAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * StaticAuction class for interacting with static auctions (Uniswap V3 based)\n * \n * Static auctions use a fixed price range on Uniswap V3 for initial liquidity bootstrapping.\n * This is ideal for simple, predictable price discovery events.\n */\nexport class StaticAuction {\n private client: SupportedPublicClient\n private poolAddress: Address\n private get rpc(): PublicClient {\n return this.client as PublicClient\n }\n \n constructor(client: SupportedPublicClient, poolAddress: Address) {\n this.client = client\n this.poolAddress = poolAddress\n }\n \n /**\n * Get the pool address\n */\n getAddress(): Address {\n return this.poolAddress\n }\n \n /**\n * Get current pool information\n */\n async getPoolInfo(): Promise<PoolInfo> {\n // Fetch all pool data in parallel\n const [slot0, liquidity, token0, token1, fee] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'slot0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'fee',\n }),\n ])\n \n // Determine which token is the auction token and which is numeraire\n // This requires checking with the Airlock contract\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [token0],\n })\n // Determine whether token0 is the auction token.\n // Handle both tuple and object return shapes from getAssetData.\n // Tuple (legacy): [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, ...]\n // Object (unified): { poolOrHook, liquidityMigrator, numeraire, ... }\n let poolOrHook0: any\n if (Array.isArray(assetData)) {\n poolOrHook0 = assetData[5]\n } else if (assetData && typeof assetData === 'object') {\n poolOrHook0 = (assetData as any).poolOrHook ?? (assetData as any).pool\n }\n const isToken0AuctionToken = poolOrHook0 && poolOrHook0 !== zeroAddress\n \n return {\n address: this.poolAddress,\n tokenAddress: isToken0AuctionToken ? token0 : token1,\n numeraireAddress: isToken0AuctionToken ? token1 : token0,\n fee,\n liquidity,\n sqrtPriceX96: slot0[0], // First element is sqrtPriceX96\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolInfo = await this.getPoolInfo()\n return poolInfo.tokenAddress\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.rpc.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.rpc.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n // Check if the asset is graduated (liquidityMigrator is zero)\n const liquidityMigrator = Array.isArray(assetData)\n ? (assetData as any)[3]\n : (assetData as any)?.liquidityMigrator\n return liquidityMigrator === zeroAddress\n }\n \n /**\n * Get the current price in the pool\n * Returns the price of token in terms of numeraire (token/numeraire)\n */\n async getCurrentPrice(): Promise<bigint> {\n const poolInfo = await this.getPoolInfo()\n \n // Get token ordering\n const [token0, token1] = await Promise.all([\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n ])\n \n // Calculate price from sqrtPriceX96\n // sqrtPriceX96 = sqrt(price) * 2^96\n // price = (sqrtPriceX96 / 2^96)^2\n const sqrtPriceX96 = poolInfo.sqrtPriceX96\n const Q96 = BigInt(2) ** BigInt(96)\n \n // price0 = amount of token1 per token0\n const sqrtPriceX96Squared = sqrtPriceX96 * sqrtPriceX96\n const Q96Squared = Q96 * Q96\n const price0 = sqrtPriceX96Squared / Q96Squared\n \n // Return price based on which token is the auction token\n if (poolInfo.tokenAddress === token0) {\n // Auction token is token0, return price in terms of token1 (numeraire)\n return price0\n } else {\n // Auction token is token1, return reciprocal price\n // price1 = 1 / price0 (with precision handling)\n return Q96Squared / price0\n }\n }\n \n /**\n * Get total liquidity in the pool\n */\n async getTotalLiquidity(): Promise<bigint> {\n return await this.rpc.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n })\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var chunkFAFU27VH_js = require('./chunk-FAFU27VH.js');
4
4
  var chunkXG7K4R56_js = require('./chunk-XG7K4R56.js');
5
5
  var chunk45OJGXN4_js = require('./chunk-45OJGXN4.js');
6
- var chunkKEYVLYK4_js = require('./chunk-KEYVLYK4.js');
6
+ var chunkEKZJGUYF_js = require('./chunk-EKZJGUYF.js');
7
7
  var chunkCIRZKWLL_js = require('./chunk-CIRZKWLL.js');
8
8
  var viem = require('viem');
9
9
 
@@ -26,7 +26,7 @@ var DopplerFactory = class {
26
26
  }
27
27
  async encodeCreateStaticAuctionParams(params) {
28
28
  this.validateStaticAuctionParams(params);
29
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
29
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
30
30
  const poolInitializerData = viem.encodeAbiParameters(
31
31
  [
32
32
  {
@@ -164,7 +164,7 @@ var DopplerFactory = class {
164
164
  */
165
165
  async simulateCreateStaticAuction(params) {
166
166
  const createParams = await this.encodeCreateStaticAuctionParams(params);
167
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
167
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
168
168
  const airlockAddress = params.modules?.airlock ?? addresses.airlock;
169
169
  const { request, result } = await this.publicClient.simulateContract({
170
170
  address: airlockAddress,
@@ -197,7 +197,7 @@ var DopplerFactory = class {
197
197
  */
198
198
  async createStaticAuction(params) {
199
199
  const createParams = await this.encodeCreateStaticAuctionParams(params);
200
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
200
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
201
201
  if (!this.walletClient) {
202
202
  throw new Error("Wallet client required for write operations");
203
203
  }
@@ -329,7 +329,7 @@ var DopplerFactory = class {
329
329
  }
330
330
  async encodeCreateDynamicAuctionParams(params) {
331
331
  this.validateDynamicAuctionParams(params);
332
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
332
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
333
333
  const gamma = params.auction.gamma ?? this.computeOptimalGamma(
334
334
  params.auction.startTick,
335
335
  params.auction.endTick,
@@ -472,7 +472,7 @@ var DopplerFactory = class {
472
472
  */
473
473
  async createDynamicAuction(params) {
474
474
  const { createParams, hookAddress, tokenAddress } = await this.encodeCreateDynamicAuctionParams(params);
475
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
475
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
476
476
  if (!this.walletClient) {
477
477
  throw new Error("Wallet client required for write operations");
478
478
  }
@@ -544,7 +544,7 @@ var DopplerFactory = class {
544
544
  */
545
545
  async simulateCreateDynamicAuction(params) {
546
546
  const { createParams } = await this.encodeCreateDynamicAuctionParams(params);
547
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
547
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
548
548
  const airlockAddress = params.modules?.airlock ?? addresses.airlock;
549
549
  const { request, result } = await this.publicClient.simulateContract({
550
550
  address: airlockAddress,
@@ -663,7 +663,7 @@ var DopplerFactory = class {
663
663
  throw new Error("Multicurve pool must include at least one curve");
664
664
  }
665
665
  const normalizedCurves = this.normalizeMulticurveCurves(params.pool.curves, params.pool.tickSpacing);
666
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
666
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
667
667
  const sortedBeneficiaries = (params.pool.beneficiaries ?? []).slice().sort((a, b) => {
668
668
  const aAddr = a.beneficiary.toLowerCase();
669
669
  const bAddr = b.beneficiary.toLowerCase();
@@ -830,7 +830,7 @@ var DopplerFactory = class {
830
830
  }
831
831
  async simulateCreateMulticurve(params) {
832
832
  const createParams = this.encodeCreateMulticurveParams(params);
833
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
833
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
834
834
  const airlockAddress = params.modules?.airlock ?? addresses.airlock;
835
835
  const { request, result } = await this.publicClient.simulateContract({
836
836
  address: airlockAddress,
@@ -858,7 +858,7 @@ var DopplerFactory = class {
858
858
  }
859
859
  async createMulticurve(params) {
860
860
  const createParams = this.encodeCreateMulticurveParams(params);
861
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
861
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
862
862
  if (!this.walletClient) throw new Error("Wallet client required for write operations");
863
863
  const airlockAddress = params.modules?.airlock ?? addresses.airlock;
864
864
  const { request, result } = await this.publicClient.simulateContract({
@@ -1054,14 +1054,14 @@ var DopplerFactory = class {
1054
1054
  * Get the airlock contract address for the current chain
1055
1055
  */
1056
1056
  getAirlockAddress() {
1057
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
1057
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
1058
1058
  return addresses.airlock;
1059
1059
  }
1060
1060
  /**
1061
1061
  * Get the appropriate initializer address based on auction type
1062
1062
  */
1063
1063
  getInitializerAddress(isStatic) {
1064
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
1064
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
1065
1065
  return isStatic ? addresses.v3Initializer : addresses.v4Initializer;
1066
1066
  }
1067
1067
  /**
@@ -1069,7 +1069,7 @@ var DopplerFactory = class {
1069
1069
  * Used to perform atomic create + swap ("bundle") flows for static auctions
1070
1070
  */
1071
1071
  getBundlerAddress() {
1072
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
1072
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
1073
1073
  const addr = addresses.bundler;
1074
1074
  if (!addr || addr === viem.zeroAddress) {
1075
1075
  throw new Error("Bundler address not configured for this chain");
@@ -1081,7 +1081,7 @@ var DopplerFactory = class {
1081
1081
  * Allows override via ModuleAddressOverrides when provided in params.
1082
1082
  */
1083
1083
  getMigratorAddress(config, overrides) {
1084
- const addresses = chunkKEYVLYK4_js.getAddresses(this.chainId);
1084
+ const addresses = chunkEKZJGUYF_js.getAddresses(this.chainId);
1085
1085
  switch (config.type) {
1086
1086
  case "uniswapV2":
1087
1087
  return overrides?.v2Migrator ?? addresses.v2Migrator;
@@ -1620,5 +1620,5 @@ var DopplerFactory = class {
1620
1620
  var MULTICURVE_BUNDLER_SELECTORS = ["0xe2e9faa1", "0x07087b06"];
1621
1621
 
1622
1622
  exports.DopplerFactory = DopplerFactory;
1623
- //# sourceMappingURL=chunk-HCD2QHWG.js.map
1624
- //# sourceMappingURL=chunk-HCD2QHWG.js.map
1623
+ //# sourceMappingURL=chunk-74V3LOT3.js.map
1624
+ //# sourceMappingURL=chunk-74V3LOT3.js.map