genius-intents 0.20.1-develop.5 → 0.20.1

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 (70) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/lib/dex/lfj/lfj-dex-deployments.d.ts.map +1 -1
  3. package/dist/lib/dex/lfj/lfj-dex-deployments.js +7 -8
  4. package/dist/lib/dex/lfj/lfj-dex-deployments.js.map +1 -1
  5. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.d.ts.map +1 -1
  6. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js +13 -4
  7. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js.map +1 -1
  8. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts +1 -0
  9. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts.map +1 -1
  10. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js +58 -14
  11. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js.map +1 -1
  12. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js +1 -1
  13. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js.map +1 -1
  14. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.d.ts.map +1 -1
  15. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js +20 -9
  16. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js.map +1 -1
  17. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts +1 -0
  18. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts.map +1 -1
  19. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js +82 -38
  20. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js.map +1 -1
  21. package/dist/lib/dex/pair-discovery/pair-discovery.service.d.ts.map +1 -1
  22. package/dist/lib/dex/pair-discovery/pair-discovery.service.js +7 -2
  23. package/dist/lib/dex/pair-discovery/pair-discovery.service.js.map +1 -1
  24. package/dist/lib/dex/uniswapv3/universal-router.abi.d.ts +3 -0
  25. package/dist/lib/dex/uniswapv3/universal-router.abi.d.ts.map +1 -0
  26. package/dist/lib/dex/uniswapv3/universal-router.abi.js +17 -0
  27. package/dist/lib/dex/uniswapv3/universal-router.abi.js.map +1 -0
  28. package/dist/lib/dex/uniswapv3/v3-dex-deployments.js +1 -1
  29. package/dist/protocols/algebra/algebra.service.d.ts +1 -0
  30. package/dist/protocols/algebra/algebra.service.d.ts.map +1 -1
  31. package/dist/protocols/algebra/algebra.service.js +65 -32
  32. package/dist/protocols/algebra/algebra.service.js.map +1 -1
  33. package/dist/protocols/algebra/algebra.types.d.ts +2 -2
  34. package/dist/protocols/algebra/algebra.types.d.ts.map +1 -1
  35. package/dist/protocols/algebra/algebra.types.js +1 -1
  36. package/dist/protocols/algebra/algebra.types.js.map +1 -1
  37. package/dist/protocols/four-meme/four-meme.service.d.ts.map +1 -1
  38. package/dist/protocols/four-meme/four-meme.service.js +4 -3
  39. package/dist/protocols/four-meme/four-meme.service.js.map +1 -1
  40. package/dist/protocols/lfj/lfj.service.d.ts.map +1 -1
  41. package/dist/protocols/lfj/lfj.service.js +23 -7
  42. package/dist/protocols/lfj/lfj.service.js.map +1 -1
  43. package/dist/protocols/lfj/lfj.types.d.ts +8 -3
  44. package/dist/protocols/lfj/lfj.types.d.ts.map +1 -1
  45. package/dist/protocols/relay/relay.service.d.ts.map +1 -1
  46. package/dist/protocols/relay/relay.service.js +5 -2
  47. package/dist/protocols/relay/relay.service.js.map +1 -1
  48. package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
  49. package/dist/protocols/v2-dex/v2-dex.service.js +12 -4
  50. package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
  51. package/dist/protocols/v2-dex/v2-dex.types.d.ts +2 -0
  52. package/dist/protocols/v2-dex/v2-dex.types.d.ts.map +1 -1
  53. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts +1 -0
  54. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts.map +1 -1
  55. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js +152 -10
  56. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js.map +1 -1
  57. package/dist/protocols/v3-dex/v3-dex.service.d.ts +2 -2
  58. package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
  59. package/dist/protocols/v3-dex/v3-dex.service.js +13 -8
  60. package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
  61. package/dist/protocols/v3-dex/v3-dex.types.d.ts +1 -2
  62. package/dist/protocols/v3-dex/v3-dex.types.d.ts.map +1 -1
  63. package/dist/protocols/v3-dex/v3-dex.types.js +0 -1
  64. package/dist/protocols/v3-dex/v3-dex.types.js.map +1 -1
  65. package/dist/protocols/ve33/ve33.service.d.ts.map +1 -1
  66. package/dist/protocols/ve33/ve33.service.js +40 -18
  67. package/dist/protocols/ve33/ve33.service.js.map +1 -1
  68. package/dist/protocols/ve33/ve33.types.d.ts +2 -0
  69. package/dist/protocols/ve33/ve33.types.d.ts.map +1 -1
  70. package/package.json +1 -1
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Ve33PairAdapter = void 0;
4
4
  const viem_1 = require("viem");
5
- const ethers_1 = require("ethers");
6
5
  const ve33_1 = require("../../../../protocols/ve33");
7
6
  const min_amount_out_1 = require("../../../../utils/min-amount-out");
8
7
  const norm_dex_token_1 = require("../../../../utils/norm-dex-token");
9
8
  const ve33_dex_deployments_1 = require("../../ve33/ve33-dex-deployments");
10
9
  const aerodrome_router_abi_1 = require("../../ve33/aerodrome-router.abi");
10
+ const pharaoh_router_abi_1 = require("../../ve33/pharaoh-router.abi");
11
+ const blackhole_router_abi_1 = require("../../ve33/blackhole-router.abi");
11
12
  const chainId_to_chain_1 = require("../../../../utils/chainId-to-chain");
12
13
  const enums_1 = require("../../../../types/enums");
13
14
  const sort_addresses_1 = require("../../../../utils/sort-addresses");
@@ -24,7 +25,8 @@ class Ve33PairAdapter {
24
25
  * Blackhole pair generator address and code hash
25
26
  */
26
27
  this.blackholeGenerator = '0x34098b39Ec2E2C1A8F815bb8fA840D0D389afE1c';
27
- this.blackholeInitCodeHash = '0x61baacdf5847f8dc7ba5ec668422f0890d1fcf81c16dc7b2b3815952bdd20501';
28
+ this.blackholeInitCodeHash = '0xa779d69ae15fc5dfe501f4a9880c751871e95e8f64da82bdba68e560e728b62a';
29
+ this.blackholePairCreationCode = '0x61016060405260006002556000600d556000600e5560016013553480156200002657600080fd5b506040516200528438038062005284833981016040819052620000499162000766565b6001600160a01b038085166101005281151560805282811660c052831660a052604051839083906200007b9062000695565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620000af573d6000803e3d6000fd5b506001600160a01b031660e0528015620002e157826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000102573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200012c919081019062000812565b826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200016b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000195919081019062000812565b604051602001620001a8929190620008ca565b60405160208183030381529060405260009080519060200190620001ce929190620006a3565b50826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200020e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000238919081019062000812565b826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620002a1919081019062000812565b604051602001620002b492919062000925565b60405160208183030381529060405260019080519060200190620002da929190620006a3565b50620004fa565b826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200034a919081019062000812565b826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620003b3919081019062000812565b604051602001620003c692919062000976565b60405160208183030381529060405260009080519060200190620003ec929190620006a3565b50826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200042c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000456919081019062000812565b826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000495573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620004bf919081019062000812565b604051602001620004d2929190620009d3565b60405160208183030381529060405260019080519060200190620004f8929190620006a3565b505b826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000539573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055f9190620009f5565b6200056c90600a62000b36565b6101208181525050816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620009f5565b620005e690600a62000b36565b6101405250506040805160608101825242815260006020820181815292820181815260078054600181018255925291517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68860039092029182015591517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c689830155517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68a909101555062000b839050565b6105c58062004cbf83390190565b828054620006b19062000b47565b90600052602060002090601f016020900481019282620006d5576000855562000720565b82601f10620006f057805160ff191683800117855562000720565b8280016001018555821562000720579182015b828111156200072057825182559160200191906001019062000703565b506200072e92915062000732565b5090565b5b808211156200072e576000815560010162000733565b80516001600160a01b03811681146200076157600080fd5b919050565b600080600080608085870312156200077d57600080fd5b620007888562000749565b9350620007986020860162000749565b9250620007a86040860162000749565b915060608501518015158114620007be57600080fd5b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620007fc578181015183820152602001620007e2565b838111156200080c576000848401525b50505050565b6000602082840312156200082557600080fd5b81516001600160401b03808211156200083d57600080fd5b818401915084601f8301126200085257600080fd5b815181811115620008675762000867620007c9565b604051601f8201601f19908116603f01168101908382118183101715620008925762000892620007c9565b81604052828152876020848701011115620008ac57600080fd5b620008bf836020830160208801620007df565b979650505050505050565b6e029ba30b13632ab189020a6a690169608d1b815260008351620008f681600f850160208801620007df565b602f60f81b600f91840191820152835162000919816010840160208801620007df565b01601001949350505050565b6473414d4d2d60d81b81526000835162000947816005850160208801620007df565b602f60f81b60059184019182015283516200096a816006840160208801620007df565b01600601949350505050565b7002b37b630ba34b632ab189020a6a690169607d1b815260008351620009a4816011850160208801620007df565b602f60f81b6011918401918201528351620009c7816012840160208801620007df565b01601201949350505050565b6476414d4d2d60d81b81526000835162000947816005850160208801620007df565b60006020828403121562000a0857600080fd5b815160ff8116811462000a1a57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000a7857816000190482111562000a5c5762000a5c62000a21565b8085161562000a6a57918102915b93841c939080029062000a3c565b509250929050565b60008262000a915750600162000b30565b8162000aa05750600062000b30565b816001811462000ab9576002811462000ac45762000ae4565b600191505062000b30565b60ff84111562000ad85762000ad862000a21565b50506001821b62000b30565b5060208310610133831016604e8410600b841016171562000b09575081810a62000b30565b62000b15838362000a37565b806000190482111562000b2c5762000b2c62000a21565b0290505b92915050565b600062000a1a60ff84168362000a80565b600181811c9082168062000b5c57607f821691505b60208210810362000b7d57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051613f5262000d6d6000396000818161046901528181612e250152818161310f015281816131d101526132dc01526000818161044601528181612de4015281816130d00152818161321301526132b601526000818161081401528181610c9001528181610d67015281816115120152818161221b0152818161236a015281816126a1015281816127440152818161282601528181612a3301528181612ad60152612bb801526000818161062a01528181611e92015281816122bd015281816128da0152818161296401528181612c6c0152612cf60152600081816104f30152818161067f0152818161074c0152818161097601528181610c1e01528181611692015281816118ff01528181611d39015281816124da01528181612b7e0152612cd5015260008181610331015281816104cb0152818161065a0152818161095501528181610bfd015281816115fc015281816118dd01528181611d1701528181612452015281816127ec0152818161294301528181613151015281816131980152818161327d01526133200152600081816102e9015281816103cf0152818161049b01528181610c5801528181610d2f015281816117580152818161233901528181612dbc015261309c0152613f526000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80637ecebe001161015c578063bda39cad116100ce578063d505accf11610087578063d505accf14610776578063dd62ed3e14610789578063ebeb31db146107b4578063f083be3b146107bc578063f140a35a146107c4578063fff6cae9146107d757600080fd5b8063bda39cad14610723578063bf944dbc1461072c578063c245febc14610735578063c5700a021461073e578063d21220a714610747578063d294f0931461076e57600080fd5b80639d63848a116101205780639d63848a1461064c5780639e8cc04b146106aa5780639f767c88146106bd578063a1ac4d13146106dd578063a9059cbb146106fd578063bc25cf771461071057600080fd5b80637ecebe00146105ab57806389afcb44146105cb5780638a7b8cf2146105f357806395d89b411461061d5780639af1d35a1461062557600080fd5b806323b872dd116102005780634d5a9f8a116101b95780634d5a9f8a14610529578063517b3f82146105495780635881c4751461055c5780635a76f25e1461056f5780636a6278421461057857806370a082311461058b57600080fd5b806323b872dd146103f1578063252c09d714610404578063313ce5671461041757806332c0defd14610431578063392f37e91461043a578063443cb4bc1461052057600080fd5b80630dfe1681116102525780630dfe16811461032c57806313345fe11461036b57806318160ddd1461038b5780631df8c717146103a2578063205aabf1146103aa57806322be3de1146103ca57600080fd5b8063022c0d9f1461028f57806306fdde03146102a45780630902f1ac146102c257806309047bdd146102e7578063095ea7b314610319575b600080fd5b6102a261029d36600461397d565b6107df565b005b6102ac610f7b565b6040516102b99190613a43565b60405180910390f35b600854600954600a545b604080519384526020840192909252908201526060016102b9565b7f00000000000000000000000000000000000000000000000000000000000000005b60405190151581526020016102b9565b610309610327366004613a76565b611009565b6103537f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102b9565b61037e610379366004613aa2565b611076565b6040516102b99190613add565b61039460025481565b6040519081526020016102b9565b6102cc611272565b6103946103b8366004613b21565b60106020526000908152604090205481565b6103097f000000000000000000000000000000000000000000000000000000000000000081565b6103096103ff366004613b3e565b6112e1565b6102cc610412366004613b7f565b6113aa565b61041f601281565b60405160ff90911681526020016102b9565b610394600d5481565b600854600954604080517f000000000000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060208201529081019290925260608201527f0000000000000000000000000000000000000000000000000000000000000000151560808201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660a08301527f00000000000000000000000000000000000000000000000000000000000000001660c082015260e0016102b9565b61039460085481565b610394610537366004613b21565b60116020526000908152604090205481565b610394610557366004613a76565b6113dd565b61037e61056a366004613b98565b6114c5565b61039460095481565b610394610586366004613b21565b6114d4565b610394610599366004613b21565b60046020526000908152604090205481565b6103946105b9366004613b21565b60066020526000908152604090205481565b6105de6105d9366004613b21565b611898565b604080519283526020830191909152016102b9565b6105fb611bc8565b60408051825181526020808401519082015291810151908201526060016102b9565b6102ac611c48565b6103537f000000000000000000000000000000000000000000000000000000000000000081565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000166020820152016102b9565b6103946106b8366004613b98565b611c55565b6103946106cb366004613b21565b600f6020526000908152604090205481565b6103946106eb366004613b21565b60126020526000908152604090205481565b61030961070b366004613a76565b611cc2565b6102a261071e366004613b21565b611cd8565b610394600e5481565b610394600b5481565b610394600c5481565b610394600a5481565b6103537f000000000000000000000000000000000000000000000000000000000000000081565b6105de611e09565b6102a2610784366004613bcd565b611f30565b610394610797366004613c44565b600360209081526000928352604080842090915290825290205481565b600754610394565b6102a2612217565b6103946107d2366004613c7d565b61231e565b6102a2612412565b60135460011461080a5760405162461bcd60e51b815260040161080190613ca2565b60405180910390fd5b60026013819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b187bd266040518163ffffffff1660e01b8152600401602060405180830381865afa158015610870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108949190613cc2565b156108ca5760405162461bcd60e51b815260206004820152600660248201526514105554d15160d21b6044820152606401610801565b60008511806108d95750600084115b61090b5760405162461bcd60e51b8152602060048201526003602482015262494f4160e81b6044820152606401610801565b600854600954818710801561091f57508086105b6109505760405162461bcd60e51b8152602060048201526002602482015261125360f21b6044820152606401610801565b6000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03898116908316148015906109c35750806001600160a01b0316896001600160a01b031614155b6109f45760405162461bcd60e51b8152602060048201526002602482015261125560f21b6044820152606401610801565b8a15610a0557610a05828a8d61255f565b8915610a1657610a16818a8c61255f565b8615610a8357604051639a7bff7960e01b81526001600160a01b038a1690639a7bff7990610a509033908f908f908e908e90600401613ce4565b600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb9190613d30565b6040516370a0823160e01b81523060048201529094506001600160a01b038216906370a0823190602401602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190613d30565b9250505060008985610b689190613d5f565b8311610b75576000610b89565b610b7f8a86613d5f565b610b899084613d5f565b90506000610b978a86613d5f565b8311610ba4576000610bb8565b610bae8a86613d5f565b610bb89084613d5f565b90506000821180610bc95750600081115b610bfb5760405162461bcd60e51b815260206004820152600360248201526249494160e81b6044820152606401610801565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008315610d145760405163cc56b2c560e01b81523060048201527f000000000000000000000000000000000000000000000000000000000000000015156024820152610d1490612710906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cc56b2c590604401602060405180830381865afa158015610cd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfb9190613d30565b610d059087613d76565b610d0f9190613d95565b61269d565b8215610deb5760405163cc56b2c560e01b81523060048201527f000000000000000000000000000000000000000000000000000000000000000015156024820152610deb90612710906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cc56b2c590604401602060405180830381865afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd29190613d30565b610ddc9086613d76565b610de69190613d95565b612a2f565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190613d30565b6040516370a0823160e01b81523060048201529096506001600160a01b038216906370a0823190602401602060405180830381865afa158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe9190613d30565b9450610eca8888612db8565b610ed48787612db8565b1015610f065760405162461bcd60e51b81526020600482015260016024820152604b60f81b6044820152606401610801565b5050610f1484848888612f04565b60408051838152602081018390529081018c9052606081018b90526001600160a01b038a169033907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800160405180910390a350506001601355505050505050505050565b60008054610f8890613db7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb490613db7565b80156110015780601f10610fd657610100808354040283529160200191611001565b820191906000526020600020905b815481529060010190602001808311610fe457829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906110649086815260200190565b60405180910390a35060015b92915050565b606060008367ffffffffffffffff81111561109357611093613deb565b6040519080825280602002602001820160405280156110bc578160200160208202803683370190505b506007549091506000906110d290600190613d5f565b905060006110e08587613d76565b6110ea9083613d5f565b90506000805b83831015611262576111028784613e01565b915060006007848154811061111957611119613e19565b9060005260206000209060030201600001546007848154811061113e5761113e613e19565b90600052602060002090600302016000015461115a9190613d5f565b90506000816007868154811061117257611172613e19565b9060005260206000209060030201600101546007868154811061119757611197613e19565b9060005260206000209060030201600101546111b39190613d5f565b6111bd9190613d95565b9050600082600787815481106111d5576111d5613e19565b906000526020600020906003020160020154600787815481106111fa576111fa613e19565b9060005260206000209060030201600201546112169190613d5f565b6112209190613d95565b905061122e8c8e8484613098565b88858151811061124057611240613e19565b602090810291909101015250505060010161125b8784613e01565b92506110f0565b509293505050505b949350505050565b600b54600c544260008080611290600854600954600a549192909190565b9250925092508381146112d95760006112a98286613d5f565b90506112b58185613d76565b6112bf9088613e01565b96506112cb8184613d76565b6112d59087613e01565b9550505b505050909192565b6001600160a01b03831660008181526003602090815260408083203380855292528220549192909190821480159061131b57506000198114155b1561139157600061132c8583613d5f565b6001600160a01b038881166000818152600360209081526040808320948916808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b61139c86868661338d565b6001925050505b9392505050565b600781815481106113ba57600080fd5b600091825260209091206003909102018054600182015460029092015490925083565b6000806113e8611bc8565b90506000806113f5611272565b5084519193509150420361145d576007805461141390600290613d5f565b8154811061142357611423613e19565b9060005260206000209060030201604051806060016040529081600082015481526020016001820154815260200160028201548152505092505b825160009061146c9042613d5f565b90506000818560200151856114819190613d5f565b61148b9190613d95565b90506000828660400151856114a09190613d5f565b6114aa9190613d95565b90506114b8888a8484613098565b9998505050505050505050565b606061126a8484846001611076565b60006013546001146114f85760405162461bcd60e51b815260040161080190613ca2565b60026013556040516360e8ad4760e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906360e8ad4790602401602060405180830381865afa158015611561573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115859190613cc2565b80156115915750600254155b156115de5760405162461bcd60e51b815260206004820152601860248201527f47454e455349535f504f4f4c5f4d494e545f4c4f434b454400000000000000006044820152606401610801565b6008546009546040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561164b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166f9190613d30565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156116d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fd9190613d30565b9050600061170b8584613d5f565b905060006117198584613d5f565b60025490915060008190036117ca576103e861173d6117388486613d76565b61344d565b6117479190613d5f565b975061175660006103e86134bd565b7f0000000000000000000000000000000000000000000000000000000000000000156117c5576402540be40061178c8484612db8565b116117c55760405162461bcd60e51b81526020600482015260096024820152684d494e494d554d5f4b60b81b6044820152606401610801565b6117ff565b6117fc876117d88386613d76565b6117e29190613d95565b876117ed8486613d76565b6117f79190613d95565b613550565b97505b600088116118355760405162461bcd60e51b8152602060048201526003602482015262494c4d60e81b6044820152606401610801565b61183f89896134bd565b61184b85858989612f04565b604080518481526020810184905233917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f910160405180910390a250506001601355509395945050505050565b6000806013546001146118bd5760405162461bcd60e51b815260040161080190613ca2565b60026013556008546009546040516370a0823160e01b81523060048201527f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611953573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119779190613d30565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190613d30565b306000908152600460205260409020546002549192509080611a078584613d76565b611a119190613d95565b995080611a1e8484613d76565b611a289190613d95565b985060008a118015611a3a5750600089115b611a6c5760405162461bcd60e51b815260206004820152600360248201526224a62160e91b6044820152606401610801565b611a763083613566565b611a81868c8c61255f565b611a8c858c8b61255f565b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015611ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af49190613d30565b6040516370a0823160e01b81523060048201529094506001600160a01b038616906370a0823190602401602060405180830381865afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5f9190613d30565b9250611b6d84848a8a612f04565b604080518b8152602081018b90526001600160a01b038d169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496910160405180910390a350505050505050506001601381905550915091565b611bec60405180606001604052806000815260200160008152602001600081525090565b60078054611bfc90600190613d5f565b81548110611c0c57611c0c613e19565b90600052602060002090600302016040518060600160405290816000820154815260200160018201548152602001600282015481525050905090565b60018054610f8890613db7565b600080611c658585856001611076565b90506000805b8251811015611cad57828181518110611c8657611c86613e19565b602002602001015182611c999190613e01565b915080611ca581613e2f565b915050611c6b565b50611cb88482613d95565b9695505050505050565b6000611ccf33848461338d565b50600192915050565b601354600114611cfa5760405162461bcd60e51b815260040161080190613ca2565b60026013556008546040516370a0823160e01b81523060048201527f0000000000000000000000000000000000000000000000000000000000000000917f000000000000000000000000000000000000000000000000000000000000000091611dc79184918691906001600160a01b038416906370a08231906024015b602060405180830381865afa158015611d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db89190613d30565b611dc29190613d5f565b61255f565b6009546040516370a0823160e01b8152306004820152611dff9183918691906001600160a01b038416906370a0823190602401611d77565b5050600160135550565b600080611e15336135f1565b50503360009081526011602090815260408083205460129092529091205481151580611e415750600081115b15611f2c573360008181526011602090815260408083208390556012909152808220919091555163299e7ae760e11b8152600481019190915260248101839052604481018290526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063533cf5ce90606401600060405180830381600087803b158015611ed657600080fd5b505af1158015611eea573d6000803e3d6000fd5b505060408051858152602081018590523393508392507f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e94645910160405180910390a35b9091565b42841015611f665760405162461bcd60e51b815260206004820152600360248201526204558560ec1b6044820152606401610801565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051611f969190613e48565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160408051601f19818403018152918152815160209283012060058190556001600160a01b038a166000908152600690935290822080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b91908761206183613e2f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e001604051602081830303815290604052805190602001206040516020016120da92919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015612145573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061217b5750886001600160a01b0316816001600160a01b0316145b6121b05760405162461bcd60e51b8152600401610801906020808252600490820152634953494760e01b604082015260600190565b6001600160a01b038981166000818152600360209081526040808320948d16808452948252918290208b905590518a81527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c124a4a26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229b9190613ee3565b60405163f8518b8960e01b81526001600160a01b0380831660048301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063f8518b8990602401600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b5050505050565b60085460095460405163cc56b2c560e01b81523060048201527f0000000000000000000000000000000000000000000000000000000000000000151560248201526000929190612710907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063cc56b2c590604401602060405180830381865afa1580156123b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123dd9190613d30565b6123e79087613d76565b6123f19190613d95565b6123fb9086613d5f565b945061240985858484613098565b95945050505050565b6013546001146124345760405162461bcd60e51b815260040161080190613ca2565b60026013556040516370a0823160e01b8152306004820152612558907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c59190613d30565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254d9190613d30565b600854600954612f04565b6001601355565b6000836001600160a01b03163b116125a35760405162461bcd60e51b815260206004820152600760248201526621a7a222a622a760c91b6044820152606401610801565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916125ff9190613f00565b6000604051808303816000865af19150503d806000811461263c576040519150601f19603f3d011682016040523d82523d6000602084013e612641565b606091505b509150915081801561266b57508051158061266b57508080602001905181019061266b9190613cc2565b6123175760405162461bcd60e51b81526020600482015260036024820152621254d560ea1b6044820152606401610801565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637be1623e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127219190613ee3565b604051632db39b2f60e21b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b6ce6cbc90602401602060405180830381865afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af9190613d30565b905060006001600160a01b0383166127c85760006127df565b6127106127d58386613d76565b6127df9190613d95565b9050801561281f576128127f0000000000000000000000000000000000000000000000000000000000000000848361255f565b61281c8185613d5f565b93505b60006127107f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663956f94a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015612882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a69190613d30565b6128b09087613d76565b6128ba9190613d95565b604051638d4dabff60e01b815260048101829052600160248201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638d4dabff90604401600060405180830381600087803b15801561292657600080fd5b505af115801561293a573d6000803e3d6000fd5b505050506129897f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008761255f565b6129938186613d5f565b9450600060025486670de0b6b3a76400006129ae9190613d76565b6129b89190613d95565b905080156129d85780600d60008282546129d29190613e01565b90915550505b337f112c256902bf554b6ed882d2936687aaeb4225e8cd5b51303c90ca6cf43a860284612a05858a613e01565b612a0f9190613e01565b6040805191825260006020830152015b60405180910390a2505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637be1623e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab39190613ee3565b604051632db39b2f60e21b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b6ce6cbc90602401602060405180830381865afa158015612b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b419190613d30565b905060006001600160a01b038316612b5a576000612b71565b612710612b678386613d76565b612b719190613d95565b90508015612bb157612ba47f0000000000000000000000000000000000000000000000000000000000000000848361255f565b612bae8185613d5f565b93505b60006127107f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663956f94a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c389190613d30565b612c429087613d76565b612c4c9190613d95565b604051638d4dabff60e01b815260048101829052600060248201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638d4dabff90604401600060405180830381600087803b158015612cb857600080fd5b505af1158015612ccc573d6000803e3d6000fd5b50505050612d1b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008761255f565b612d258186613d5f565b9450600060025486670de0b6b3a7640000612d409190613d76565b612d4a9190613d95565b90508015612d6a5780600e6000828254612d649190613e01565b90915550505b337f112c256902bf554b6ed882d2936687aaeb4225e8cd5b51303c90ca6cf43a8602600085612d99868b613e01565b612da39190613e01565b60408051928352602083019190915201612a1f565b60007f000000000000000000000000000000000000000000000000000000000000000015612ef35760007f0000000000000000000000000000000000000000000000000000000000000000612e1585670de0b6b3a7640000613d76565b612e1f9190613d95565b905060007f0000000000000000000000000000000000000000000000000000000000000000612e5685670de0b6b3a7640000613d76565b612e609190613d95565b90506000670de0b6b3a7640000612e778385613d76565b612e819190613d95565b90506000670de0b6b3a7640000612e988480613d76565b612ea29190613d95565b670de0b6b3a7640000612eb58680613d76565b612ebf9190613d95565b612ec99190613e01565b9050670de0b6b3a7640000612ede8284613d76565b612ee89190613d95565b945050505050611070565b612efd8284613d76565b9050611070565b600a544290600090612f169083613d5f565b9050600081118015612f2757508315155b8015612f3257508215155b15612f7957612f418185613d76565b600b6000828254612f529190613e01565b90915550612f6290508184613d76565b600c6000828254612f739190613e01565b90915550505b6000612f83611bc8565b8051909150612f929084613d5f565b91506107088211156130475760408051606081018252848152600b5460208201908152600c549282019283526007805460018101825560009190915291517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688600390930292830155517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68982015590517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68a909101555b60088790556009869055600a83905560408051888152602081018890527fcf2aa50876cdfbb541206f89af0ee78d44a2abf8d328e37fa4917f982149848a910160405180910390a150505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000001561331b5760006130cc8484612db8565b90507f000000000000000000000000000000000000000000000000000000000000000061310185670de0b6b3a7640000613d76565b61310b9190613d95565b93507f000000000000000000000000000000000000000000000000000000000000000061314084670de0b6b3a7640000613d76565b61314a9190613d95565b92506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b03161461318f578486613192565b85855b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614613211577f000000000000000000000000000000000000000000000000000000000000000061320289670de0b6b3a7640000613d76565b61320c9190613d95565b61324e565b7f000000000000000000000000000000000000000000000000000000000000000061324489670de0b6b3a7640000613d76565b61324e9190613d95565b9750600061326661325f848b613e01565b8584613751565b6132709083613d5f565b9050670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316896001600160a01b0316146132da577f00000000000000000000000000000000000000000000000000000000000000006132fc565b7f00000000000000000000000000000000000000000000000000000000000000005b6133069083613d76565b6133109190613d95565b94505050505061126a565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161461335e578385613361565b84845b90925090506133708783613e01565b61337a8289613d76565b6133849190613d95565b9250505061126a565b613396836135f1565b61339f826135f1565b6001600160a01b038316600090815260046020526040812080548392906133c7908490613d5f565b90915550506001600160a01b038216600090815260046020526040812080548392906133f4908490613e01565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161344091815260200190565b60405180910390a3505050565b600060038211156134ae5750806000613467600283613d95565b613472906001613e01565b90505b818110156134a85790508060028161348d8186613d95565b6134979190613e01565b6134a19190613d95565b9050613475565b50919050565b81156134b8575060015b919050565b6134c6826135f1565b80600260008282546134d89190613e01565b90915550506001600160a01b03821660009081526004602052604081208054839290613505908490613e01565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600081831061355f57816113a3565b5090919050565b61356f826135f1565b80600260008282546135819190613d5f565b90915550506001600160a01b038216600090815260046020526040812080548392906135ae908490613d5f565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001613544565b6001600160a01b038116600090815260046020526040902054801561371f576001600160a01b0382166000908152600f60209081526040808320805460108085529285208054600d54600e549481905594909552829055936136538584613d5f565b905060006136618584613d5f565b905081156136bc576000670de0b6b3a764000061367e848a613d76565b6136889190613d95565b6001600160a01b038a166000908152601160205260408120805492935083929091906136b5908490613e01565b9091555050505b8015613715576000670de0b6b3a76400006136d7838a613d76565b6136e19190613d95565b6001600160a01b038a1660009081526012602052604081208054929350839290919061370e908490613e01565b9091555050505b5050505050505050565b600d546001600160a01b0383166000908152600f6020908152604080832093909355600e546010909152919020555050565b6000805b60ff8110156138575782600061376b8783613860565b9050858110156137bb57600061378188876138fd565b61378b8389613d5f565b61379d90670de0b6b3a7640000613d76565b6137a79190613d95565b90506137b38187613e01565b9550506137fd565b60006137c788876138fd565b6137d18884613d5f565b6137e390670de0b6b3a7640000613d76565b6137ed9190613d95565b90506137f98187613d5f565b9550505b818511156138265760016138118387613d5f565b11613821578493505050506113a3565b613842565b60016138328684613d5f565b11613842578493505050506113a3565b5050808061384f90613e2f565b915050613755565b50909392505050565b6000670de0b6b3a7640000828185816138798280613d76565b6138839190613d95565b61388d9190613d76565b6138979190613d95565b6138a19190613d76565b6138ab9190613d95565b670de0b6b3a76400008084816138c18280613d76565b6138cb9190613d95565b6138d59190613d76565b6138df9190613d95565b6138e99086613d76565b6138f39190613d95565b6113a39190613e01565b6000670de0b6b3a764000083816139148280613d76565b61391e9190613d95565b6139289190613d76565b6139329190613d95565b670de0b6b3a7640000806139468580613d76565b6139509190613d95565b61395b866003613d76565b6138e99190613d76565b6001600160a01b038116811461397a57600080fd5b50565b60008060008060006080868803121561399557600080fd5b853594506020860135935060408601356139ae81613965565b9250606086013567ffffffffffffffff808211156139cb57600080fd5b818801915088601f8301126139df57600080fd5b8135818111156139ee57600080fd5b896020828501011115613a0057600080fd5b9699959850939650602001949392505050565b60005b83811015613a2e578181015183820152602001613a16565b83811115613a3d576000848401525b50505050565b6020815260008251806020840152613a62816040850160208701613a13565b601f01601f19169190910160400192915050565b60008060408385031215613a8957600080fd5b8235613a9481613965565b946020939093013593505050565b60008060008060808587031215613ab857600080fd5b8435613ac381613965565b966020860135965060408601359560600135945092505050565b6020808252825182820181905260009190848201906040850190845b81811015613b1557835183529284019291840191600101613af9565b50909695505050505050565b600060208284031215613b3357600080fd5b81356113a381613965565b600080600060608486031215613b5357600080fd5b8335613b5e81613965565b92506020840135613b6e81613965565b929592945050506040919091013590565b600060208284031215613b9157600080fd5b5035919050565b600080600060608486031215613bad57600080fd5b8335613bb881613965565b95602085013595506040909401359392505050565b600080600080600080600060e0888a031215613be857600080fd5b8735613bf381613965565b96506020880135613c0381613965565b95506040880135945060608801359350608088013560ff81168114613c2757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215613c5757600080fd5b8235613c6281613965565b91506020830135613c7281613965565b809150509250929050565b60008060408385031215613c9057600080fd5b823591506020830135613c7281613965565b6020808252600690820152651313d0d2d15160d21b604082015260600190565b600060208284031215613cd457600080fd5b815180151581146113a357600080fd5b60018060a01b038616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600060208284031215613d4257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015613d7157613d71613d49565b500390565b6000816000190483118215151615613d9057613d90613d49565b500290565b600082613db257634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680613dcb57607f821691505b6020821081036134a857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60008219821115613e1457613e14613d49565b500190565b634e487b7160e01b600052603260045260246000fd5b600060018201613e4157613e41613d49565b5060010190565b600080835481600182811c915080831680613e6457607f831692505b60208084108203613e8357634e487b7160e01b86526022600452602486fd5b818015613e975760018114613ea857613ed5565b60ff19861689528489019650613ed5565b60008a81526020902060005b86811015613ecd5781548b820152908501908301613eb4565b505084890196505b509498975050505050505050565b600060208284031215613ef557600080fd5b81516113a381613965565b60008251613f12818460208701613a13565b919091019291505056fea264697066735822122066c83ac32f66aad854faac6b14ff71929aac031a3292cdf2e67bb09a9cf20f9f64736f6c634300080d003360e060405234801561001057600080fd5b506040516105c53803806105c583398101604081905261002f91610066565b336080526001600160a01b0391821660a0521660c052610099565b80516001600160a01b038116811461006157600080fd5b919050565b6000806040838503121561007957600080fd5b6100828361004a565b91506100906020840161004a565b90509250929050565b60805160a05160c0516104e36100e26000396000818161012c015261026001526000818160fb015261022601526000818160c60152818161016201526101ef01526104e36000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063533cf5ce1461005c5780635b3c924814610071578063651d83f91461008c5780638d4dabff14610095578063f8518b89146100a8575b600080fd5b61006f61006a36600461039c565b6100bb565b005b61007a60015481565b60405190815260200160405180910390f35b61007a60005481565b61006f6100a33660046103dd565b610157565b61006f6100b636600461040d565b6101e4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100f057600080fd5b8115610121576101217f00000000000000000000000000000000000000000000000000000000000000008484610291565b8015610152576101527f00000000000000000000000000000000000000000000000000000000000000008483610291565b505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461018c57600080fd5b6000821180156101995750805b156101b557816000808282546101af919061042f565b90915550505b6000821180156101c3575080155b156101e05781600160008282546101da919061042f565b90915550505b5050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461021957600080fd5b600054156102535761024e7f000000000000000000000000000000000000000000000000000000000000000082600054610291565b600080555b6001541561028e576102887f000000000000000000000000000000000000000000000000000000000000000082600154610291565b60006001555b50565b6000836001600160a01b03163b116102a857600080fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916103049190610455565b6000604051808303816000865af19150503d8060008114610341576040519150601f19603f3d011682016040523d82523d6000602084013e610346565b606091505b50915091508180156103705750805115806103705750808060200190518101906103709190610490565b61037957600080fd5b5050505050565b80356001600160a01b038116811461039757600080fd5b919050565b6000806000606084860312156103b157600080fd5b6103ba84610380565b95602085013595506040909401359392505050565b801515811461028e57600080fd5b600080604083850312156103f057600080fd5b823591506020830135610402816103cf565b809150509250929050565b60006020828403121561041f57600080fd5b61042882610380565b9392505050565b6000821982111561045057634e487b7160e01b600052601160045260246000fd5b500190565b6000825160005b81811015610476576020818601810151858301520161045c565b81811115610485576000828501525b509190910192915050565b6000602082840312156104a257600080fd5b8151610428816103cf56fea26469706673582212202e876ac1aeaa0d201af78e5c0d06cabaf7e89c22b654061a6df837eebc9557df64736f6c634300080d0033';
28
30
  /**
29
31
  * Pharaoh pair generator address and code hash
30
32
  */
@@ -43,7 +45,7 @@ class Ve33PairAdapter {
43
45
  const chainConfig = chainId_to_chain_1.chainIdToChain[network];
44
46
  const supportsNetwork = this.chains.includes(network);
45
47
  if (!chainConfig || !supportsNetwork) {
46
- console.warn(`Ve33PairAdapter: Skipping unsupported or unknown network ${network}`);
48
+ // console.warn(`Ve33PairAdapter: Skipping unsupported or unknown network ${network}`);
47
49
  continue;
48
50
  }
49
51
  const client = (0, viem_1.createPublicClient)({
@@ -130,33 +132,61 @@ class Ve33PairAdapter {
130
132
  if (!client) {
131
133
  throw new Error(`No public client available for chain ID: ${network}`);
132
134
  }
133
- const normalizedRoute = this._normalizeRouteForGetAmountsOut({
134
- tokenIn,
135
- tokenOut,
136
- stable: matchingPair.volatility === ve33_1.VolatilityEnum.STABLE,
137
- factory: deployment.poolFactory,
138
- });
139
- /**
140
- * Utilize `getAmountsOut` as `getAmountOut` requires an additional
141
- * rpc call to fetch the pair reserves
142
- */
143
- const amountsOutCall = {
144
- address: deployment.router,
145
- // Aerodrome ABI works for getAmountsOut shape used in both AERODROME & VELODROME paths
146
- abi: aerodrome_router_abi_1.aerodromeRouterAbi,
147
- functionName: 'getAmountsOut',
148
- args: [amountIn, [normalizedRoute]],
149
- };
150
- const amountsOutResult = (await client.readContract(amountsOutCall));
151
- const expectedAmountOut = amountsOutResult[amountsOutResult.length - 1] ?? BigInt(0);
152
- const amountOutMin = (0, min_amount_out_1.calculateMinAmountOut)({
153
- amountOut: expectedAmountOut.toString(),
154
- slippage,
155
- });
156
- return {
157
- expectedAmountOut: expectedAmountOut.toString(),
158
- amountOutMin,
159
- };
135
+ const isDrome = matchingPair.dex === ve33_1.Ve33StyleDeploymentEnum.AERODROME ||
136
+ matchingPair.dex === ve33_1.Ve33StyleDeploymentEnum.VELODROME;
137
+ const isPharaoh = matchingPair.dex === ve33_1.Ve33StyleDeploymentEnum.PHARAOH;
138
+ const isBlackhole = matchingPair.dex === ve33_1.Ve33StyleDeploymentEnum.BLACKHOLE;
139
+ if (isDrome || isPharaoh) {
140
+ const normalizedRoute = this._normalizeRouteForGetAmountsOut({
141
+ tokenIn,
142
+ tokenOut,
143
+ stable: matchingPair.volatility === ve33_1.VolatilityEnum.STABLE,
144
+ factory: deployment.poolFactory,
145
+ isDrome,
146
+ });
147
+ /**
148
+ * Utilize `getAmountsOut` as `getAmountOut` requires an additional
149
+ * rpc call to fetch the pair reserves
150
+ */
151
+ const abi = isDrome ? aerodrome_router_abi_1.aerodromeRouterAbi : pharaoh_router_abi_1.pharaohRouterAbi;
152
+ const amountsOutCall = {
153
+ address: deployment.router,
154
+ // Aerodrome ABI works for getAmountsOut shape used in both AERODROME & VELODROME paths
155
+ abi: abi,
156
+ functionName: 'getAmountsOut',
157
+ args: [amountIn, [normalizedRoute]],
158
+ };
159
+ const amountsOutResult = (await client.readContract(amountsOutCall));
160
+ const expectedAmountOut = amountsOutResult[amountsOutResult.length - 1] ?? BigInt(0);
161
+ const amountOutMin = (0, min_amount_out_1.calculateMinAmountOut)({
162
+ amountOut: expectedAmountOut.toString(),
163
+ slippage,
164
+ });
165
+ return {
166
+ expectedAmountOut: expectedAmountOut.toString(),
167
+ amountOutMin,
168
+ };
169
+ }
170
+ else if (isBlackhole) {
171
+ const args = [amountIn, tokenIn, matchingPair.pair];
172
+ const expectedAmountOut = (await client.readContract({
173
+ address: deployment.router,
174
+ abi: blackhole_router_abi_1.blackholeRouterAbi,
175
+ functionName: 'getPoolAmountOut',
176
+ args: args,
177
+ }));
178
+ const amountOutMin = (0, min_amount_out_1.calculateMinAmountOut)({
179
+ amountOut: expectedAmountOut.toString(),
180
+ slippage,
181
+ });
182
+ return {
183
+ expectedAmountOut: expectedAmountOut.toString(),
184
+ amountOutMin,
185
+ };
186
+ }
187
+ else {
188
+ throw new Error(`Unsupported Ve33 dex for amount out calculation: ${matchingPair.dex}`);
189
+ }
160
190
  }
161
191
  _computePairAddresses(params) {
162
192
  const results = [];
@@ -245,18 +275,29 @@ class Ve33PairAdapter {
245
275
  throw new Error(`Unsupported Ve33 fork deployment tag for pair computation: ${params.deployment.tag}`);
246
276
  }
247
277
  _computePharaohPairAddress(params) {
248
- const salt = (0, viem_1.keccak256)((0, viem_1.concatHex)([params.token0, params.token1, params.stable ? '0x01' : '0x00']));
278
+ // Compute salt matching Solidity's abi.encodePacked(token0, token1, stable)
279
+ const salt = (0, viem_1.keccak256)((0, viem_1.encodePacked)(['address', 'address', 'bool'], [params.token0, params.token1, params.stable]));
249
280
  const deployer = (0, viem_1.getAddress)(params.deployment.poolFactory);
250
- const pair = (0, viem_1.getAddress)(`0x${(0, viem_1.keccak256)((0, viem_1.concatHex)(['0xff', deployer, salt, this.pharaohPairCodeHash])).slice(-40)}`);
281
+ // Compute CREATE2 address
282
+ const pair = (0, viem_1.getAddress)(`0x${(0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes1', 'address', 'bytes32', 'bytes32'], ['0xff', deployer, salt, this.pharaohPairCodeHash])).slice(-40)}`);
251
283
  return pair;
252
284
  }
253
285
  _computeBlackholePairAddress(params) {
254
- const salt = (0, ethers_1.solidityPackedKeccak256)(['address', 'address', 'bool'], [params.token0, params.token1, params.stable]);
255
- function blackHolConcatHex(...hexes) {
256
- return '0x' + hexes.map(h => h.replace(/^0x/, '')).join('');
257
- }
258
- const preimage = blackHolConcatHex('0xff', (0, viem_1.getAddress)(this.blackholeGenerator), salt, this.blackholeInitCodeHash);
259
- const pair = (0, viem_1.getAddress)((0, ethers_1.dataSlice)((0, viem_1.keccak256)(preimage), 12));
286
+ const [token0, token1] = (0, sort_addresses_1.sortAddresses)(params.token0, params.token1);
287
+ const factory = (0, viem_1.getAddress)('0xfE926062Fb99CA5653080d6C14fE945Ad68c265C');
288
+ // Encode constructor arguments
289
+ const constructorArgs = (0, viem_1.encodeAbiParameters)((0, viem_1.parseAbiParameters)('address, address, address, bool'), [factory, token0, token1, params.stable]);
290
+ // Compute the full init code (creation code + constructor args)
291
+ const initCode = (0, viem_1.concatHex)([
292
+ this.blackholePairCreationCode, // This is the static part
293
+ constructorArgs,
294
+ ]);
295
+ // Hash the full init code
296
+ const initCodeHash = (0, viem_1.keccak256)(initCode);
297
+ // Compute salt
298
+ const salt = (0, viem_1.keccak256)((0, viem_1.encodePacked)(['address', 'address', 'bool'], [token0, token1, params.stable]));
299
+ // Compute CREATE2 address
300
+ const pair = (0, viem_1.getAddress)(`0x${(0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes1', 'address', 'bytes32', 'bytes32'], ['0xff', this.blackholeGenerator, salt, initCodeHash])).slice(-40)}`);
260
301
  return pair;
261
302
  }
262
303
  _determineImplementation(deployment) {
@@ -270,6 +311,9 @@ class Ve33PairAdapter {
270
311
  }
271
312
  }
272
313
  _normalizeRouteForGetAmountsOut(r) {
314
+ if (!r.isDrome) {
315
+ return { from: r.tokenIn, to: r.tokenOut, stable: r.stable };
316
+ }
273
317
  return { from: r.tokenIn, to: r.tokenOut, stable: r.stable, factory: r.factory };
274
318
  }
275
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ve33-dex-pair-discovery.adapter.js","sourceRoot":"","sources":["../../../../../src/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.ts"],"names":[],"mappings":";;;AAAA,+BAUc;AACd,mCAA4D;AAW5D,qDAIoC;AACpC,qEAAyE;AACzE,qEAAsE;AACtE,0EAAqE;AACrE,0EAAqE;AACrE,yEAAoE;AACpE,mDAAoE;AACpE,qEAAiE;AACjE,2DAA2D;AAC3D,6CAA6C;AAE7C,MAAa,eAAe;IAiC1B,YAAY,MAA8B;QAhC1C;;WAEG;QACI,4BAAuB,GAAG,4CAAuD,CAAC;QAClF,4BAAuB,GAAG,4CAAuD,CAAC;QAEzF;;WAEG;QACI,uBAAkB,GAAG,4CAAuD,CAAC;QAC7E,0BAAqB,GAC1B,oEAA2E,CAAC;QAE9E;;WAEG;QACI,wBAAmB,GACxB,oEAA2E,CAAC;QAEvE,UAAK,GAAG;YACb,8BAAuB,CAAC,SAAS;YACjC,8BAAuB,CAAC,SAAS;YACjC,8BAAuB,CAAC,SAAS;YACjC,8BAAuB,CAAC,OAAO;SAChC,CAAC;QAEK,gBAAW,GAAG,yCAAkB,CAAC;QAEjC,WAAM,GAAG,CAAC,mBAAW,CAAC,IAAI,EAAE,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,SAAS,CAAC,CAAC;QAExE,aAAQ,GAA+C,EAAE,CAAC;QAGhE,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAgB,CAAC;YAClD,MAAM,WAAW,GAAG,iCAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAC;gBACpF,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,yBAAkB,EAAC;gBAChC,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QAClC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAA2B;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAElE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAA,mCAAkB,EAAC;gBAC1E,OAAO;gBACP,QAAQ;gBACR,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBAC/C,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,WAAW;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,8CAA8C,WAAW,MAAM,YAAY,gBAAgB,OAAO,EAAE,CACrG,CAAC;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CACxD,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,gBAAgB,OAAO,EAAE,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC;YAE7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,CAAC,GAAG,gBAAgB,OAAO,EAAE,CAAC,CAAC;YAC5F,CAAC;YAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAsB;oBACnC,GAAG,EAAE,YAAY,CAAC,GAAG;oBACrB,GAAG,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,kBAAkB,CAAC,WAAW,IAAI,OAAO,EAAE;oBACvE,OAAO;oBACP,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;iBACpC,CAAC;gBAEF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBACxE,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACjC,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,YAAY;gBAC1B,UAAU,EAAE,kBAAkB;aAC/B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAsB;gBACnC,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,GAAG,EAAE,GAAG,YAAY,CAAC,GAAG,IAAI,kBAAkB,CAAC,WAAW,IAAI,OAAO,EAAE;gBACvE,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gBAC/C,YAAY;aACb,CAAC;YAEF,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAA,gBAAQ,EACZ,oBAAY,CAAC,qBAAqB,EAClC,sCAAsC,YAAY,EAAE,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,MAA+B;QAE/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE5F,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,+BAA+B,CAAC;YAC3D,OAAO;YACP,QAAQ;YACR,MAAM,EAAE,YAAY,CAAC,UAAU,KAAK,qBAAc,CAAC,MAAM;YACzD,OAAO,EAAE,UAAU,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH;;;WAGG;QACH,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,UAAU,CAAC,MAAM;YAC1B,uFAAuF;YACvF,GAAG,EAAE,yCAAyB;YAC9B,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAU;SAC7C,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAsB,CAAC;QAC1F,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,IAAA,sCAAqB,EAAC;YACzC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YACvC,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO;YACL,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,MAI7B;QACC,MAAM,OAAO,GAIR,EAAE,CAAC;QAER,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG;gBACjB,UAAU;gBACV,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBACpD,GAAG,UAAU;gBACb,UAAU,EAAE,qBAAc,CAAC,MAAM;aAClC,CAAC,CAAC;YAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBACtD,GAAG,UAAU;gBACb,UAAU,EAAE,qBAAc,CAAC,QAAQ;aACpC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;YAC3B,OAAO,CAAC,IAAI,CACV,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAc,CAAC,MAAM,EAAE,EAC5D,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAc,CAAC,QAAQ,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,MAK3B;QAKC,MAAM,GAAG,GAA4B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3D,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,8BAAuB,CAAC,SAAS,CAAC;YACvC,KAAK,8BAAuB,CAAC,SAAS;gBACpC,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACjD,KAAK,8BAAuB,CAAC,SAAS,CAAC;YACvC,KAAK,8BAAuB,CAAC,OAAO;gBAClC,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;YACrD;gBACE,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,MAKlC;QAKC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE7D,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,wBAAY,IAAI,CAAC,KAAK,wBAAY;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAE7E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAA,8BAAa,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,KAAK,qBAAc,CAAC,MAAM,CAAC;QACpD,MAAM,OAAO,GAAG,IAAA,iBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEnD,8EAA8E;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,IAAI,GAAY,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAC;QAEjD,6DAA6D;QAC7D,MAAM,IAAI,GAAQ,IAAA,gBAAS,EAAC,IAAA,gBAAS,EAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEnF,4EAA4E;QAC5E,MAAM,YAAY,GAAQ,wBAAwB,CAAC;QACnD,MAAM,SAAS,GAAQ,wBAAwB,CAAC;QAChD,MAAM,YAAY,GAAQ,kCAAkC,CAAC;QAE7D,MAAM,QAAQ,GAAQ,IAAA,gBAAS,EAAC,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAQ,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;QAE9C,mEAAmE;QACnE,MAAM,MAAM,GAAQ,IAAA,gBAAS,EAAC,IAAA,gBAAS,EAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAElD,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAEO,8BAA8B,CAAC,MAKtC;QAKC,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,wBAAY,IAAI,CAAC,KAAK,wBAAY;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAE7E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAA,8BAAa,EAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE,IAAA,iBAAU,EAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,KAAK,qBAAc,CAAC,MAAM,CAAC;QAE3D,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,8BAAuB,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC;gBAC3C,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7E,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,8BAAuB,CAAC,SAAS,EAAE,CAAC;YACvE,wCAAwC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7E,CAAC;QAED,MAAM,IAAI,KAAK,CACb,8DAA8D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CACtF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,MAKlC;QACC,MAAM,IAAI,GAAQ,IAAA,gBAAS,EACzB,IAAA,gBAAS,EAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC3E,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,iBAAU,EACrB,KAAK,IAAA,gBAAS,EAAC,IAAA,gBAAS,EAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAC3F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,4BAA4B,CAAC,MAIpC;QACC,MAAM,IAAI,GAAG,IAAA,gCAAuB,EAClC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAC9B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAC9C,CAAC;QAEF,SAAS,iBAAiB,CAAC,GAAG,KAAe;YAC3C,OAAO,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAChC,MAAM,EACN,IAAA,iBAAU,EAAC,IAAI,CAAC,kBAAkB,CAAC,EACnC,IAAI,EACJ,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,kBAAS,EAAC,IAAA,gBAAS,EAAC,QAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAC,UAA0B;QACzD,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,8BAAuB,CAAC,SAAS;gBACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;YACtC,KAAK,8BAAuB,CAAC,SAAS;gBACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC;YACtC;gBACE,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,CAKvC;QACC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACnF,CAAC;CACF;AAtYD,0CAsYC"}
1
+ {"version":3,"file":"ve33-dex-pair-discovery.adapter.js","sourceRoot":"","sources":["../../../../../src/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pair-discovery.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAgBjE,qBAAa,uBAAuB;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAyB/B;IAEK,MAAM,EAAE,WAAW,EAAE,CAS1B;IAEF,OAAO,CAAC,SAAS,CAAyB;gBAE9B,MAAM,EAAE,sBAAsB;IAW7B,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAmCjF"}
1
+ {"version":3,"file":"pair-discovery.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAiBjE,qBAAa,uBAAuB;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAwB/B;IAEK,MAAM,EAAE,WAAW,EAAE,CAS1B;IAEF,OAAO,CAAC,SAAS,CAAyB;gBAE9B,MAAM,EAAE,sBAAsB;IAW7B,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAyCjF"}
@@ -18,6 +18,7 @@ const v2_dex_pair_discovery_adapter_1 = require("./adapters/v2-dex-pair-discover
18
18
  const v3_dex_pair_discovery_adapter_1 = require("./adapters/v3-dex-pair-discovery.adapter");
19
19
  const ve33_dex_pair_discovery_adapter_1 = require("./adapters/ve33-dex-pair-discovery.adapter");
20
20
  const fourmeme_dex_pair_discovery_adapter_1 = require("./adapters/fourmeme-dex-pair-discovery.adapter");
21
+ const norm_dex_token_1 = require("../../../utils/norm-dex-token");
21
22
  class EvmPairDiscoveryService {
22
23
  constructor(config) {
23
24
  this.dexes = [
@@ -34,7 +35,6 @@ class EvmPairDiscoveryService {
34
35
  v2_dex_types_1.UniswapV2StyleDexEnum.HYPERSWAP_V2,
35
36
  v3_dex_types_1.UniswapV3StyleDexEnum.UNISWAP_V3,
36
37
  v3_dex_types_1.UniswapV3StyleDexEnum.PANCAKESWAP_V3,
37
- v3_dex_types_1.UniswapV3StyleDexEnum.QUICKSWAP_V3,
38
38
  v3_dex_types_1.UniswapV3StyleDexEnum.PANGOLIN_V3,
39
39
  v3_dex_types_1.UniswapV3StyleDexEnum.HYPERSWAP_V3,
40
40
  v3_dex_types_1.UniswapV3StyleDexEnum.PHARAOH_CLMM,
@@ -70,9 +70,14 @@ class EvmPairDiscoveryService {
70
70
  return new Promise((resolve, reject) => {
71
71
  let resolvedCount = 0;
72
72
  const totalAdapters = this._adapters.length;
73
+ const { tokenIn, tokenOut } = (0, norm_dex_token_1.normalizeDexTokens)({
74
+ tokenIn: params.tokenIn,
75
+ tokenOut: params.tokenOut,
76
+ network: params.network,
77
+ });
73
78
  this._adapters.forEach(adapter => {
74
79
  adapter
75
- .getPairInfo(params)
80
+ .getPairInfo({ ...params, tokenIn, tokenOut })
76
81
  .then(pairInfo => {
77
82
  if (pairInfo) {
78
83
  resolve(pairInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"pair-discovery.service.js","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pair-discovery.service.js","sourceRoot":"","sources":["../../../../src/lib/dex/pair-discovery/pair-discovery.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Abi } from 'viem';
2
+ export declare const universalRouterAbi: Abi;
3
+ //# sourceMappingURL=universal-router.abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universal-router.abi.d.ts","sourceRoot":"","sources":["../../../../src/lib/dex/uniswapv3/universal-router.abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,eAAO,MAAM,kBAAkB,EAAE,GAYvB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.universalRouterAbi = void 0;
4
+ exports.universalRouterAbi = [
5
+ {
6
+ type: 'function',
7
+ name: 'execute',
8
+ stateMutability: 'payable',
9
+ inputs: [
10
+ { name: 'commands', type: 'bytes' },
11
+ { name: 'inputs', type: 'bytes[]' },
12
+ { name: 'deadline', type: 'uint256' },
13
+ ],
14
+ outputs: [],
15
+ },
16
+ ];
17
+ //# sourceMappingURL=universal-router.abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universal-router.abi.js","sourceRoot":"","sources":["../../../../src/lib/dex/uniswapv3/universal-router.abi.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAQ;IACrC;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SACtC;QACD,OAAO,EAAE,EAAE;KACZ;CACO,CAAC"}
@@ -85,7 +85,7 @@ exports.uniV3DexDeployments = {
85
85
  dex: v3_dex_types_1.UniswapV3StyleDexEnum.RAMSES_CLMM,
86
86
  chainId: enums_1.ChainIdEnum.AVALANCHE,
87
87
  family: v3_dex_types_1.UniswapV3StyleDexFamilyEnum.SLIPSTREAM,
88
- router: '0x062c62cA66E50Cfe277A95564Fe5bB504db1Fab8', // SwapRouter (immutable & verified)
88
+ router: '0x5AcC35397D2ce81Ac54A4B1c6D9e1FB29F8EC6C6', // SwapRouter (immutable & verified)
89
89
  quoter: '0x3265d621c7d993151C8EB2aCd4902CdA0499A8a0', // QuoterV3
90
90
  deployer: '0x6a4113ed0915bCf5E48e758e8f4cEBFFC07C66f9', // RamsesV3PoolDeployer
91
91
  factory: '0xAE6E5c62328ade73ceefD42228528b70c8157D0d', // RamsesV3Factory (CL)
@@ -59,5 +59,6 @@ export declare class AlgebraService implements IIntentProtocol {
59
59
  private _normalizeTokensForExec;
60
60
  private _buildAlgebraPath;
61
61
  private _discoverPoolsAcrossDeployments;
62
+ private _deployerForPath;
62
63
  }
63
64
  //# sourceMappingURL=algebra.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"algebra.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,aAAa,EACb,iBAAiB,EAOlB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD;;OAEG;IACI,QAAQ,EAAE,YAAY,CAAwB;IAErD;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,MAAM,gBAAgD;IAE7D;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAkD;IAElE;;OAEG;IACI,WAAW,oDAAyB;gBAE/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,aAAa;IA2CpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE;QACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,OAAO,IAAI,CAAC;IAMhB,iEAAiE;IACpD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA+K1E,gFAAgF;IACnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4J1E,OAAO,CAAC,4BAA4B;IAsEpC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,iBAAiB;YAgBX,+BAA+B;CA8H9C"}
1
+ {"version":3,"file":"algebra.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,aAAa,EACb,iBAAiB,EAQlB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD;;OAEG;IACI,QAAQ,EAAE,YAAY,CAAwB;IAErD;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,MAAM,gBAAgD;IAE7D;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAkD;IAElE;;OAEG;IACI,WAAW,oDAAyB;gBAE/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,aAAa;IA2CpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE;QACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,OAAO,IAAI,CAAC;IAMhB,iEAAiE;IACpD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqL1E,gFAAgF;IACnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiK1E,OAAO,CAAC,4BAA4B;IA2EpC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,iBAAiB;YAoCX,+BAA+B;IA+H7C,OAAO,CAAC,gBAAgB;CAezB"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AlgebraService = void 0;
4
4
  const viem_1 = require("viem");
5
+ const algebra_types_1 = require("./algebra.types");
5
6
  const algebra_factory_abi_1 = require("../../lib/dex/algebra/algebra-factory.abi");
6
7
  const algebra_quoter_abi_1 = require("../../lib/dex/algebra/algebra-quoter.abi");
7
8
  const algebra_router_abi_1 = require("../../lib/dex/algebra/algebra-router.abi");
@@ -15,6 +16,7 @@ const dex_deployment_key_1 = require("../../utils/dex-deployment-key");
15
16
  const chainId_to_chain_1 = require("../../utils/chainId-to-chain");
16
17
  const is_native_1 = require("../../utils/is-native");
17
18
  const utils_1 = require("../../utils");
19
+ const constants_1 = require("../../utils/constants");
18
20
  let logger;
19
21
  /**
20
22
  * AlgebraService: quotes Algebra-based CLMMs (Blackhole, …).
@@ -119,8 +121,9 @@ class AlgebraService {
119
121
  const overridePairCandidate = overrides?.pairCandidate;
120
122
  const overridePair = overridePairCandidate?.pair;
121
123
  const overrideAmountOutMin = overridePairCandidate?.amountOutMin;
124
+ const overrideExpectedAmountOut = overridePairCandidate?.expectedAmountOut;
122
125
  const overrideDeployer = overridePairCandidate?.deployer;
123
- const useFastRoute = overridePair && overrideAmountOutMin && overrideDeployer;
126
+ const useFastRoute = overridePair && overrideAmountOutMin && overrideExpectedAmountOut && overrideDeployer;
124
127
  if (useFastRoute) {
125
128
  return this._buildFastRoutePriceResponse({
126
129
  tokenIn: tokenInNorm,
@@ -130,7 +133,7 @@ class AlgebraService {
130
133
  amountIn: amountInBI.toString(),
131
134
  slippage,
132
135
  overridePair,
133
- overrideAmountOutMin,
136
+ overrideExpectedAmountOut,
134
137
  overrideDeployer,
135
138
  });
136
139
  }
@@ -192,9 +195,8 @@ class AlgebraService {
192
195
  throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, 'Algebra: failed to select a deployment.');
193
196
  }
194
197
  // Build the Algebra path for single-hop (token, deployer, token), reverse-encoded for Algebra
195
- const path = this._buildAlgebraPath([
196
- { tokenIn: tokenInNorm, deployer: chosenPool.deployer, tokenOut: tokenOutNorm },
197
- ]);
198
+ const deployerForPath = this._deployerForPath(chosenDep, chosenPool.deployer, chosenPool.kind);
199
+ const path = this._buildAlgebraPath([{ tokenIn: tokenInNorm, deployer: deployerForPath, tokenOut: tokenOutNorm }], chosenDep.tag);
198
200
  const proto = {
199
201
  deploymentKey: (0, dex_deployment_key_1.dexDeploymentKey)({
200
202
  dex: chosenDep.tag,
@@ -247,24 +249,27 @@ class AlgebraService {
247
249
  }
248
250
  else {
249
251
  logger.debug(`AlgebraService fetchQuote fetching price response.`);
250
- price = await this.fetchPrice({
251
- ...params,
252
- amountIn: params.amountIn,
253
- tokenIn,
254
- tokenOut,
255
- networkIn,
256
- networkOut,
257
- slippage,
258
- });
252
+ price = await this.fetchPrice(params);
259
253
  }
260
254
  const proto = price.protocolResponse;
261
255
  // Normalize for execution (wrap/unwrap decisions)
262
256
  const { tokenInNorm, tokenOutNorm, expectNativeIn, expectNativeOut } = this._normalizeTokensForExec(chainId, tokenIn, tokenOut);
257
+ const overrides = params.overrideParamsAlgebra;
258
+ const overridePairCandidate = overrides?.pairCandidate;
259
+ const overrideAmountOutMin = overridePairCandidate?.amountOutMin;
263
260
  // Slippage → minAmountOut
264
- const minOut = (0, min_amount_out_1.calculateMinAmountOut)({
265
- amountOut: price.amountOut,
266
- slippage: Number(slippage ?? 0),
267
- });
261
+ let minOut = undefined;
262
+ if (overrideAmountOutMin) {
263
+ // Already has slippage applied
264
+ minOut = overrideAmountOutMin;
265
+ }
266
+ else {
267
+ // calculate minOut from price.amountOut and slippage
268
+ minOut = (0, min_amount_out_1.calculateMinAmountOut)({
269
+ amountOut: price.amountOut,
270
+ slippage: Number(slippage ?? 0),
271
+ });
272
+ }
268
273
  // Build router calldata (exactInput with Algebra path)
269
274
  const deployments = this.deployments[chainId] ?? [];
270
275
  const dep = deployments.find(d => d.router.toLowerCase() === proto.router.toLowerCase() &&
@@ -274,8 +279,9 @@ class AlgebraService {
274
279
  }
275
280
  logger.debug(`AlgebraService building swap calldata.`);
276
281
  const deadline = BigInt(Math.floor(Date.now() / 1000) + 30 * 60);
277
- const singleHop = [{ tokenIn: tokenInNorm, deployer: proto.deployer, tokenOut: tokenOutNorm }];
278
- const path = this._buildAlgebraPath(singleHop);
282
+ const deployerForPath = this._deployerForPath(dep, (0, viem_1.getAddress)(proto.deployer));
283
+ const singleHop = [{ tokenIn: tokenInNorm, deployer: deployerForPath, tokenOut: tokenOutNorm }];
284
+ const path = this._buildAlgebraPath(singleHop, dep.tag);
279
285
  // exactInput params
280
286
  const paramsExactInput = {
281
287
  path,
@@ -351,7 +357,7 @@ class AlgebraService {
351
357
  }
352
358
  // ===== Internals =====
353
359
  _buildFastRoutePriceResponse(params) {
354
- const { tokenIn, tokenOut, networkIn, networkOut, amountIn, slippage, overridePair, overrideAmountOutMin, overrideDeployer, } = params;
360
+ const { tokenIn, tokenOut, networkIn, networkOut, amountIn, slippage, overridePair, overrideExpectedAmountOut, overrideDeployer, } = params;
355
361
  logger.debug(`AlgebraService fetchPrice called with override params.`);
356
362
  // Resolve which deployment the pair belongs to, and the deployer needed to build Algebra path.
357
363
  const ovrDeployer = (0, viem_1.getAddress)(overrideDeployer);
@@ -366,14 +372,15 @@ class AlgebraService {
366
372
  deployer: (0, viem_1.getAddress)(ovrDeployer),
367
373
  };
368
374
  const dep = deployments[resolved.deploymentIndex];
369
- const path = this._buildAlgebraPath([{ tokenIn, deployer: resolved.deployer, tokenOut }]);
375
+ const deployerForPath = this._deployerForPath(dep, ovrDeployer);
376
+ const path = this._buildAlgebraPath([{ tokenIn, deployer: deployerForPath, tokenOut }], dep.tag);
370
377
  const proto = {
371
378
  deploymentKey: (0, dex_deployment_key_1.dexDeploymentKey)({ dex: dep.tag, router: dep.router, network: networkIn }),
372
379
  router: (0, viem_1.getAddress)(dep.router),
373
380
  factory: (0, viem_1.getAddress)(dep.factory),
374
381
  pool: (0, viem_1.getAddress)(overridePair),
375
382
  deployer: (0, viem_1.getAddress)(resolved.deployer),
376
- expectedAmountOut: overrideAmountOutMin, // treat as expected for price fast-path
383
+ expectedAmountOut: overrideExpectedAmountOut, // treat as expected for price fast-path
377
384
  sqrtPriceX96After: undefined,
378
385
  initializedTicksCrossed: undefined,
379
386
  gasEstimate: undefined,
@@ -386,7 +393,7 @@ class AlgebraService {
386
393
  tokenIn,
387
394
  tokenOut,
388
395
  amountIn: amountIn,
389
- amountOut: overrideAmountOutMin, // mirrors expectedAmountOut
396
+ amountOut: overrideExpectedAmountOut, // mirrors expectedAmountOut
390
397
  slippage,
391
398
  protocolResponse: proto,
392
399
  };
@@ -420,15 +427,29 @@ class AlgebraService {
420
427
  }
421
428
  return { tokenInNorm, tokenOutNorm, expectNativeIn, expectNativeOut, wrapped };
422
429
  }
423
- _buildAlgebraPath(hops) {
424
- // Algebra expects the path in reverse-encoded order for multihop.
425
- // For single-hop this is still acceptable and matches QuoterV2 path encoding.
430
+ _buildAlgebraPath(hops, dex) {
431
+ const firstHop = hops[0];
432
+ if (!firstHop) {
433
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'No hops provided to build Algebra path.');
434
+ }
426
435
  const reversed = [...hops].reverse();
427
- const segs = reversed.map(({ tokenIn, deployer, tokenOut }) => (0, viem_1.concatHex)([
428
- (0, viem_1.padHex)((0, viem_1.getAddress)(tokenIn), { size: 20 }),
429
- (0, viem_1.padHex)((0, viem_1.getAddress)(deployer), { size: 20 }),
430
- (0, viem_1.padHex)((0, viem_1.getAddress)(tokenOut), { size: 20 }),
431
- ]));
436
+ let segs = undefined;
437
+ if (dex === algebra_types_1.AlgebraDexTagEnum.BLACKHOLE) {
438
+ segs = reversed.map(({ tokenIn, deployer, tokenOut }) => (0, viem_1.concatHex)([
439
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenIn), { size: 20 }),
440
+ (0, viem_1.padHex)((0, viem_1.getAddress)(deployer), { size: 20 }),
441
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenOut), { size: 20 }),
442
+ ]));
443
+ }
444
+ else {
445
+ segs = reversed.map(({ tokenIn, tokenOut }) => (0, viem_1.concatHex)([
446
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenIn), { size: 20 }),
447
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenOut), { size: 20 }),
448
+ ]));
449
+ }
450
+ if (!segs) {
451
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Failed to build Algebra path segments.');
452
+ }
432
453
  return segs.reduce((a, b) => (0, viem_1.concatHex)([a, b]));
433
454
  }
434
455
  async _discoverPoolsAcrossDeployments(params) {
@@ -528,6 +549,18 @@ class AlgebraService {
528
549
  logger.info(`AlgebraService discovered ${found.length} pools across deployments.`);
529
550
  return found;
530
551
  }
552
+ _deployerForPath(dep, deployer, kind) {
553
+ if (dep.tag !== algebra_types_1.AlgebraDexTagEnum.BLACKHOLE)
554
+ return deployer;
555
+ if (kind === 'default')
556
+ return constants_1.ZERO_ADDRESS;
557
+ if (kind === 'custom')
558
+ return deployer;
559
+ const def = dep.defaultDeployer ? (0, viem_1.getAddress)(dep.defaultDeployer) : undefined;
560
+ if (def && def.toLowerCase() === (0, viem_1.getAddress)(deployer).toLowerCase())
561
+ return constants_1.ZERO_ADDRESS;
562
+ return deployer;
563
+ }
531
564
  }
532
565
  exports.AlgebraService = AlgebraService;
533
566
  //# sourceMappingURL=algebra.service.js.map