damm-sdk 1.4.37 → 1.4.38

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.
@@ -1,4 +1,4 @@
1
- import type { Address } from "viem";
1
+ import { type Address } from "viem";
2
2
  import { type Call, type HexString, type Unwrapable } from "../../types/index.ts";
3
3
  /**
4
4
  * Parameters that uniquely identify a Morpho Blue market.
@@ -89,4 +89,24 @@ export declare const withdrawMorphoBlueTrx: ({ args, morphoAddress, }: {
89
89
  args: WithdrawMorphoBlueArgs;
90
90
  morphoAddress: Address;
91
91
  }) => Unwrapable<Call>;
92
+ /**
93
+ * Encode a `MorphoBlueMarketParams` struct as raw ABI bytes (no function selector).
94
+ *
95
+ * This produces the `data` argument passed to
96
+ * `forceDeallocate(adapter, data, assets, onBehalf)` on a Morpho Vault V2
97
+ * when the adapter is a `MorphoMarketV1Adapter`.
98
+ *
99
+ * Encoding: `abi.encode(MarketParams)` — 5 × 32-byte words, 160 bytes total:
100
+ * word 0: loanToken (address, left-padded)
101
+ * word 1: collateralToken (address, left-padded)
102
+ * word 2: oracle (address, left-padded)
103
+ * word 3: irm (address, left-padded)
104
+ * word 4: lltv (uint256)
105
+ *
106
+ * Pure — no side effects, no I/O. Deterministic for identical inputs.
107
+ *
108
+ * @param marketParams - The five-field Morpho Blue market identifier.
109
+ * @returns 0x-prefixed hex string of 160 bytes.
110
+ */
111
+ export declare const MorphoBlueMarketParamsCalldata: (marketParams: MorphoBlueMarketParams) => HexString;
92
112
  //# sourceMappingURL=morpho.blue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"morpho.blue.d.ts","sourceRoot":"","sources":["../../../src/integrations/morphoBlue/morpho.blue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"morpho.blue.d.ts","sourceRoot":"","sources":["../../../src/integrations/morphoBlue/morpho.blue.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAc,MAAM,sBAAsB,CAAC;AAS9F;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAIH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IAClD,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,kCAAkC,8CAK5C,8BAA8B,KAAG,SAanC,CAAC;AAEF,eAAO,MAAM,6BAA6B;UAIhC,8BAA8B;mBACrB,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAIF,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACpD,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEH,eAAO,MAAM,oCAAoC,kDAK9C,gCAAgC,KAAG,SAarC,CAAC;AAEF,eAAO,MAAM,+BAA+B;UAIlC,gCAAgC;mBACvB,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAIF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IACxC,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEH,eAAO,MAAM,wBAAwB,0DAMlC,oBAAoB,KAAG,SAczB,CAAC;AAEF,eAAO,MAAM,mBAAmB;UAItB,oBAAoB;mBACX,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACvC,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,uBAAuB,sDAMjC,mBAAmB,KAAG,SAcxB,CAAC;AAEF,eAAO,MAAM,kBAAkB;UAIrB,mBAAmB;mBACV,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAIF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IACxC,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,wBAAwB,sDAMlC,oBAAoB,KAAG,SAczB,CAAC;AAEF,eAAO,MAAM,mBAAmB;UAItB,oBAAoB;mBACX,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAIF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC1C,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEH,eAAO,MAAM,0BAA0B,0DAMpC,sBAAsB,KAAG,SAc3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;UAIxB,sBAAsB;mBACb,OAAO;MACtB,WAAW,IAAI,CAOlB,CAAC;AAsBF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,8BAA8B,iBAAkB,sBAAsB,KAAG,SAErF,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "./dist/index.cjs",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",
7
- "version": "1.4.37",
7
+ "version": "1.4.38",
8
8
  "files": [
9
9
  "dist",
10
10
  "src",
@@ -1,5 +1,5 @@
1
1
  import { ethers } from "ethers";
2
- import type { Address } from "viem";
2
+ import { encodeAbiParameters, type Address } from "viem";
3
3
  import { type Call, type HexString, type Unwrapable, createCall } from "../../types/index.ts";
4
4
  import MorphoBlueAbi from "./morpho.blue.abi.ts";
5
5
 
@@ -304,3 +304,46 @@ export const withdrawMorphoBlueTrx = ({
304
304
  data: WithdrawMorphoBlueCalldata(args),
305
305
  });
306
306
  };
307
+
308
+ // -------------------------------- MorphoBlueMarketParamsCalldata ---------------
309
+
310
+ /**
311
+ * ABI component list for a Morpho Blue MarketParams tuple.
312
+ * Field order is canonical — must match the Morpho Blue solidity struct exactly:
313
+ * `struct MarketParams { address loanToken; address collateralToken; address oracle; address irm; uint256 lltv; }`
314
+ */
315
+ const MARKET_PARAMS_ABI_COMPONENTS = [
316
+ {
317
+ type: "tuple" as const,
318
+ components: [
319
+ { name: "loanToken", type: "address" as const },
320
+ { name: "collateralToken", type: "address" as const },
321
+ { name: "oracle", type: "address" as const },
322
+ { name: "irm", type: "address" as const },
323
+ { name: "lltv", type: "uint256" as const },
324
+ ],
325
+ },
326
+ ] as const;
327
+
328
+ /**
329
+ * Encode a `MorphoBlueMarketParams` struct as raw ABI bytes (no function selector).
330
+ *
331
+ * This produces the `data` argument passed to
332
+ * `forceDeallocate(adapter, data, assets, onBehalf)` on a Morpho Vault V2
333
+ * when the adapter is a `MorphoMarketV1Adapter`.
334
+ *
335
+ * Encoding: `abi.encode(MarketParams)` — 5 × 32-byte words, 160 bytes total:
336
+ * word 0: loanToken (address, left-padded)
337
+ * word 1: collateralToken (address, left-padded)
338
+ * word 2: oracle (address, left-padded)
339
+ * word 3: irm (address, left-padded)
340
+ * word 4: lltv (uint256)
341
+ *
342
+ * Pure — no side effects, no I/O. Deterministic for identical inputs.
343
+ *
344
+ * @param marketParams - The five-field Morpho Blue market identifier.
345
+ * @returns 0x-prefixed hex string of 160 bytes.
346
+ */
347
+ export const MorphoBlueMarketParamsCalldata = (marketParams: MorphoBlueMarketParams): HexString => {
348
+ return encodeAbiParameters(MARKET_PARAMS_ABI_COMPONENTS, [marketParams]) as HexString;
349
+ };