@gearbox-protocol/sdk 14.11.15 → 14.11.17

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 (33) hide show
  1. package/dist/cjs/abi/compressors/liquidationCompressor.js +27 -5
  2. package/dist/cjs/abi/compressors/rwaCompressor.js +5 -5
  3. package/dist/cjs/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +25 -5
  4. package/dist/cjs/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +25 -5
  5. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +4 -0
  6. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +4 -0
  7. package/dist/cjs/abi/compressors/withdrawalCompressor.js +6 -0
  8. package/dist/cjs/permissionless/bindings/bytecode-repository.js +9 -10
  9. package/dist/cjs/permissionless/bindings/governance/governor.js +10 -0
  10. package/dist/cjs/permissionless/bindings/instance-manager.js +5 -0
  11. package/dist/cjs/permissionless/deployment/addresses.js +1 -0
  12. package/dist/esm/abi/compressors/liquidationCompressor.js +27 -5
  13. package/dist/esm/abi/compressors/rwaCompressor.js +5 -5
  14. package/dist/esm/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +25 -5
  15. package/dist/esm/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +25 -5
  16. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +4 -0
  17. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +4 -0
  18. package/dist/esm/abi/compressors/withdrawalCompressor.js +6 -0
  19. package/dist/esm/permissionless/bindings/bytecode-repository.js +9 -10
  20. package/dist/esm/permissionless/bindings/governance/governor.js +10 -0
  21. package/dist/esm/permissionless/bindings/instance-manager.js +5 -0
  22. package/dist/esm/permissionless/deployment/addresses.js +1 -0
  23. package/dist/types/abi/compressors/liquidationCompressor.d.ts +36 -1
  24. package/dist/types/abi/compressors/rwaCompressor.d.ts +4 -4
  25. package/dist/types/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.d.ts +36 -1
  26. package/dist/types/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.d.ts +36 -1
  27. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +16 -0
  28. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +16 -0
  29. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +24 -0
  30. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +24 -0
  31. package/dist/types/permissionless/bindings/governance/governor.d.ts +2 -0
  32. package/dist/types/permissionless/deployment/addresses.d.ts +2 -1
  33. package/package.json +1 -1
@@ -76,11 +76,8 @@ const liquidationCompressorAbi = [
76
76
  type: "tuple",
77
77
  internalType: "struct LiquidationData",
78
78
  components: [
79
- {
80
- name: "requiredUnderlyingAmount",
81
- type: "uint256",
82
- internalType: "uint256"
83
- },
79
+ { name: "requiredToken", type: "address", internalType: "address" },
80
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
84
81
  {
85
82
  name: "expectedOutputs",
86
83
  type: "tuple[]",
@@ -107,6 +104,7 @@ const liquidationCompressorAbi = [
107
104
  ]
108
105
  },
109
106
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
107
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
110
108
  { name: "kycProtocol", type: "string", internalType: "string" },
111
109
  { name: "kycToken", type: "address", internalType: "address" }
112
110
  ]
@@ -114,6 +112,30 @@ const liquidationCompressorAbi = [
114
112
  ],
115
113
  stateMutability: "nonpayable"
116
114
  },
115
+ {
116
+ type: "function",
117
+ name: "getRWALiquidators",
118
+ inputs: [
119
+ { name: "marketConfigurator", type: "address", internalType: "address" }
120
+ ],
121
+ outputs: [
122
+ {
123
+ name: "liquidators",
124
+ type: "tuple[]",
125
+ internalType: "struct RWALiquidatorInfo[]",
126
+ components: [
127
+ { name: "gateway", type: "address", internalType: "address" },
128
+ {
129
+ name: "liquidatorAddress",
130
+ type: "address",
131
+ internalType: "address"
132
+ },
133
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
134
+ ]
135
+ }
136
+ ],
137
+ stateMutability: "view"
138
+ },
117
139
  {
118
140
  type: "function",
119
141
  name: "liquidatableTypeToCompressorType",
@@ -188,17 +188,17 @@ const rwaCompressorAbi = [
188
188
  name: "InvalidDomainException",
189
189
  inputs: [{ name: "domain", type: "bytes32", internalType: "bytes32" }]
190
190
  },
191
- {
192
- type: "error",
193
- name: "InvalidRWAFactoryException",
194
- inputs: [{ name: "factory", type: "address", internalType: "address" }]
195
- },
196
191
  {
197
192
  type: "error",
198
193
  name: "InvalidMarketConfiguratorException",
199
194
  inputs: [
200
195
  { name: "marketConfigurator", type: "address", internalType: "address" }
201
196
  ]
197
+ },
198
+ {
199
+ type: "error",
200
+ name: "InvalidRWAFactoryException",
201
+ inputs: [{ name: "factory", type: "address", internalType: "address" }]
202
202
  }
203
203
  ];
204
204
  // Annotate the CommonJS export names for ESM import in node:
@@ -52,11 +52,8 @@ const midasLiquidationSubcompressorAbi = [
52
52
  type: "tuple",
53
53
  internalType: "struct LiquidationData",
54
54
  components: [
55
- {
56
- name: "requiredUnderlyingAmount",
57
- type: "uint256",
58
- internalType: "uint256"
59
- },
55
+ { name: "requiredToken", type: "address", internalType: "address" },
56
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
60
57
  {
61
58
  name: "expectedOutputs",
62
59
  type: "tuple[]",
@@ -83,6 +80,7 @@ const midasLiquidationSubcompressorAbi = [
83
80
  ]
84
81
  },
85
82
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
83
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
86
84
  { name: "kycProtocol", type: "string", internalType: "string" },
87
85
  { name: "kycToken", type: "address", internalType: "address" }
88
86
  ]
@@ -90,6 +88,28 @@ const midasLiquidationSubcompressorAbi = [
90
88
  ],
91
89
  stateMutability: "nonpayable"
92
90
  },
91
+ {
92
+ type: "function",
93
+ name: "getRWALiquidatorInfo",
94
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
95
+ outputs: [
96
+ {
97
+ name: "info",
98
+ type: "tuple",
99
+ internalType: "struct RWALiquidatorInfo",
100
+ components: [
101
+ { name: "gateway", type: "address", internalType: "address" },
102
+ {
103
+ name: "liquidatorAddress",
104
+ type: "address",
105
+ internalType: "address"
106
+ },
107
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
108
+ ]
109
+ }
110
+ ],
111
+ stateMutability: "view"
112
+ },
93
113
  {
94
114
  type: "function",
95
115
  name: "version",
@@ -52,11 +52,8 @@ const securitizeLiquidationSubcompressorAbi = [
52
52
  type: "tuple",
53
53
  internalType: "struct LiquidationData",
54
54
  components: [
55
- {
56
- name: "requiredUnderlyingAmount",
57
- type: "uint256",
58
- internalType: "uint256"
59
- },
55
+ { name: "requiredToken", type: "address", internalType: "address" },
56
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
60
57
  {
61
58
  name: "expectedOutputs",
62
59
  type: "tuple[]",
@@ -83,6 +80,7 @@ const securitizeLiquidationSubcompressorAbi = [
83
80
  ]
84
81
  },
85
82
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
83
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
86
84
  { name: "kycProtocol", type: "string", internalType: "string" },
87
85
  { name: "kycToken", type: "address", internalType: "address" }
88
86
  ]
@@ -90,6 +88,28 @@ const securitizeLiquidationSubcompressorAbi = [
90
88
  ],
91
89
  stateMutability: "nonpayable"
92
90
  },
91
+ {
92
+ type: "function",
93
+ name: "getRWALiquidatorInfo",
94
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
95
+ outputs: [
96
+ {
97
+ name: "info",
98
+ type: "tuple",
99
+ internalType: "struct RWALiquidatorInfo",
100
+ components: [
101
+ { name: "gateway", type: "address", internalType: "address" },
102
+ {
103
+ name: "liquidatorAddress",
104
+ type: "address",
105
+ internalType: "address"
106
+ },
107
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
108
+ ]
109
+ }
110
+ ],
111
+ stateMutability: "view"
112
+ },
93
113
  {
94
114
  type: "function",
95
115
  name: "version",
@@ -72,6 +72,7 @@ const midasWithdrawalSubcompressorAbi = [
72
72
  { name: "callData", type: "bytes", internalType: "bytes" }
73
73
  ]
74
74
  },
75
+ { name: "redeemer", type: "address", internalType: "address" },
75
76
  { name: "extraData", type: "bytes", internalType: "bytes" }
76
77
  ]
77
78
  },
@@ -97,6 +98,7 @@ const midasWithdrawalSubcompressorAbi = [
97
98
  ]
98
99
  },
99
100
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
101
+ { name: "redeemer", type: "address", internalType: "address" },
100
102
  { name: "extraData", type: "bytes", internalType: "bytes" }
101
103
  ]
102
104
  }
@@ -146,6 +148,7 @@ const midasWithdrawalSubcompressorAbi = [
146
148
  { name: "callData", type: "bytes", internalType: "bytes" }
147
149
  ]
148
150
  },
151
+ { name: "redeemer", type: "address", internalType: "address" },
149
152
  { name: "extraData", type: "bytes", internalType: "bytes" }
150
153
  ]
151
154
  },
@@ -171,6 +174,7 @@ const midasWithdrawalSubcompressorAbi = [
171
174
  ]
172
175
  },
173
176
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
177
+ { name: "redeemer", type: "address", internalType: "address" },
174
178
  { name: "extraData", type: "bytes", internalType: "bytes" }
175
179
  ]
176
180
  }
@@ -72,6 +72,7 @@ const securitizeRedemptionSubcompressorAbi = [
72
72
  { name: "callData", type: "bytes", internalType: "bytes" }
73
73
  ]
74
74
  },
75
+ { name: "redeemer", type: "address", internalType: "address" },
75
76
  { name: "extraData", type: "bytes", internalType: "bytes" }
76
77
  ]
77
78
  },
@@ -97,6 +98,7 @@ const securitizeRedemptionSubcompressorAbi = [
97
98
  ]
98
99
  },
99
100
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
101
+ { name: "redeemer", type: "address", internalType: "address" },
100
102
  { name: "extraData", type: "bytes", internalType: "bytes" }
101
103
  ]
102
104
  }
@@ -146,6 +148,7 @@ const securitizeRedemptionSubcompressorAbi = [
146
148
  { name: "callData", type: "bytes", internalType: "bytes" }
147
149
  ]
148
150
  },
151
+ { name: "redeemer", type: "address", internalType: "address" },
149
152
  { name: "extraData", type: "bytes", internalType: "bytes" }
150
153
  ]
151
154
  },
@@ -171,6 +174,7 @@ const securitizeRedemptionSubcompressorAbi = [
171
174
  ]
172
175
  },
173
176
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
177
+ { name: "redeemer", type: "address", internalType: "address" },
174
178
  { name: "extraData", type: "bytes", internalType: "bytes" }
175
179
  ]
176
180
  }
@@ -96,6 +96,7 @@ const withdrawalCompressorAbi = [
96
96
  { name: "callData", type: "bytes", internalType: "bytes" }
97
97
  ]
98
98
  },
99
+ { name: "redeemer", type: "address", internalType: "address" },
99
100
  { name: "extraData", type: "bytes", internalType: "bytes" }
100
101
  ]
101
102
  },
@@ -121,6 +122,7 @@ const withdrawalCompressorAbi = [
121
122
  ]
122
123
  },
123
124
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
125
+ { name: "redeemer", type: "address", internalType: "address" },
124
126
  { name: "extraData", type: "bytes", internalType: "bytes" }
125
127
  ]
126
128
  }
@@ -174,6 +176,7 @@ const withdrawalCompressorAbi = [
174
176
  { name: "callData", type: "bytes", internalType: "bytes" }
175
177
  ]
176
178
  },
179
+ { name: "redeemer", type: "address", internalType: "address" },
177
180
  { name: "extraData", type: "bytes", internalType: "bytes" }
178
181
  ]
179
182
  },
@@ -199,6 +202,7 @@ const withdrawalCompressorAbi = [
199
202
  ]
200
203
  },
201
204
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
205
+ { name: "redeemer", type: "address", internalType: "address" },
202
206
  { name: "extraData", type: "bytes", internalType: "bytes" }
203
207
  ]
204
208
  }
@@ -248,6 +252,7 @@ const withdrawalCompressorAbi = [
248
252
  { name: "callData", type: "bytes", internalType: "bytes" }
249
253
  ]
250
254
  },
255
+ { name: "redeemer", type: "address", internalType: "address" },
251
256
  { name: "extraData", type: "bytes", internalType: "bytes" }
252
257
  ]
253
258
  },
@@ -273,6 +278,7 @@ const withdrawalCompressorAbi = [
273
278
  ]
274
279
  },
275
280
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
281
+ { name: "redeemer", type: "address", internalType: "address" },
276
282
  { name: "extraData", type: "bytes", internalType: "bytes" }
277
283
  ]
278
284
  }
@@ -237,17 +237,16 @@ class BytecodeRepositoryContract extends import_sdk.BaseContract {
237
237
  authorSignature: uploadData.authorSignature
238
238
  };
239
239
  }
240
+ case "deploy": {
241
+ const [contractType, version, constructorParams, salt] = params.args;
242
+ return {
243
+ contractType: (0, import_viem.hexToString)(contractType, { size: 32 }),
244
+ version: version.toString(),
245
+ constructorParams,
246
+ salt: (0, import_viem.hexToString)(salt, { size: 32 })
247
+ };
248
+ }
240
249
  // TODO: add all functions here!
241
- // case "deployContract": {
242
- // const [contractType, version, encodedParams, salt, owner] = params.args;
243
- // return this.wrapParseCall(params, {
244
- // contractType: hexToString(contractType, { size: 32 }),
245
- // version: version.toString(),
246
- // encodedParams,
247
- // salt,
248
- // owner,
249
- // });
250
- // }
251
250
  // case "setContractTypeVersion": {
252
251
  // const [contractType, version] = params.args;
253
252
  // return this.wrapParseCall(params, {
@@ -25,18 +25,25 @@ var import_viem = require("viem");
25
25
  var import_utils = require("viem/utils");
26
26
  var import_governor = require("../../../abi/governance/governor.js");
27
27
  var import_sdk = require("../../../sdk/index.js");
28
+ var import_addresses = require("../../deployment/addresses.js");
29
+ var import_bytecode_repository = require("../bytecode-repository.js");
28
30
  var import_market_configurator = require("../market-configurator.js");
29
31
  var import_treasury_splitter = require("../treasury-splitter.js");
30
32
  var import_batches_chain = require("./batches-chain.js");
31
33
  const abi = import_governor.governorAbi;
32
34
  class GovernorContract extends import_sdk.BaseContract {
33
35
  batchesChainContract;
36
+ bcr;
34
37
  constructor(addr, client) {
35
38
  super({ client }, { abi, addr, name: "Governor" });
36
39
  this.batchesChainContract = new import_batches_chain.BatchesChainContract(
37
40
  "0x59b2fd348e4Ade84ffEfDaf5fcdDa7276c8C5041",
38
41
  client
39
42
  );
43
+ this.bcr = new import_bytecode_repository.BytecodeRepositoryContract(
44
+ import_addresses.Addresses.BYTECODE_REPOSITORY,
45
+ client
46
+ );
40
47
  }
41
48
  getTxHash(tx) {
42
49
  if (tx.contractMethod.name !== "queueTransaction") {
@@ -145,6 +152,9 @@ class GovernorContract extends import_sdk.BaseContract {
145
152
  case this.batchesChainContract.address.toLowerCase(): {
146
153
  return this.batchesChainContract.parseFunctionData(calldata);
147
154
  }
155
+ case this.bcr.address.toLowerCase(): {
156
+ return this.bcr.parseFunctionData(calldata);
157
+ }
148
158
  default: {
149
159
  try {
150
160
  let parsedData;
@@ -36,6 +36,7 @@ var import_compressors = require("./compressors/index.js");
36
36
  var import_price_feed_store = require("./price-feed-store.js");
37
37
  var import_router = require("./router/index.js");
38
38
  var import_treasury_splitter = require("./treasury-splitter.js");
39
+ var import_bytecode_repository = require("./bytecode-repository.js");
39
40
  const abi = import_instanceManager.instanceManagerAbi;
40
41
  class InstanceManagerContract extends import_sdk.BaseContract {
41
42
  constructor(addr, register) {
@@ -51,6 +52,10 @@ class InstanceManagerContract extends import_sdk.BaseContract {
51
52
  const priceFeedStore = new import_price_feed_store.PriceFeedStoreContract(target, this.client);
52
53
  return priceFeedStore.parseFunctionData(calldata);
53
54
  }
55
+ case import_addresses.Addresses.BYTECODE_REPOSITORY.toLowerCase(): {
56
+ const bcr = new import_bytecode_repository.BytecodeRepositoryContract(target, this.client);
57
+ return bcr.parseFunctionData(calldata);
58
+ }
54
59
  default: {
55
60
  try {
56
61
  let parsedData;
@@ -27,6 +27,7 @@ var Addresses = /* @__PURE__ */ ((Addresses2) => {
27
27
  Addresses2["PRICE_FEED_STORE"] = "0x74A868AC479EE145029bB80827BB77F7B7c441cB";
28
28
  Addresses2["IO_PROXY"] = "0xBcD875f0D62B9AA22481c81975F9AE1753Fc559A";
29
29
  Addresses2["INSTANCE_MANAGER"] = "0x77777777144339Bdc3aCceE992D8d4D31734CB2e";
30
+ Addresses2["BYTECODE_REPOSITORY"] = "0x1cE2B1BE96a082b1b1539F80d5D8f82Ec06a0f9A";
30
31
  return Addresses2;
31
32
  })(Addresses || {});
32
33
  // Annotate the CommonJS export names for ESM import in node:
@@ -53,11 +53,8 @@ const liquidationCompressorAbi = [
53
53
  type: "tuple",
54
54
  internalType: "struct LiquidationData",
55
55
  components: [
56
- {
57
- name: "requiredUnderlyingAmount",
58
- type: "uint256",
59
- internalType: "uint256"
60
- },
56
+ { name: "requiredToken", type: "address", internalType: "address" },
57
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
61
58
  {
62
59
  name: "expectedOutputs",
63
60
  type: "tuple[]",
@@ -84,6 +81,7 @@ const liquidationCompressorAbi = [
84
81
  ]
85
82
  },
86
83
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
84
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
87
85
  { name: "kycProtocol", type: "string", internalType: "string" },
88
86
  { name: "kycToken", type: "address", internalType: "address" }
89
87
  ]
@@ -91,6 +89,30 @@ const liquidationCompressorAbi = [
91
89
  ],
92
90
  stateMutability: "nonpayable"
93
91
  },
92
+ {
93
+ type: "function",
94
+ name: "getRWALiquidators",
95
+ inputs: [
96
+ { name: "marketConfigurator", type: "address", internalType: "address" }
97
+ ],
98
+ outputs: [
99
+ {
100
+ name: "liquidators",
101
+ type: "tuple[]",
102
+ internalType: "struct RWALiquidatorInfo[]",
103
+ components: [
104
+ { name: "gateway", type: "address", internalType: "address" },
105
+ {
106
+ name: "liquidatorAddress",
107
+ type: "address",
108
+ internalType: "address"
109
+ },
110
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
111
+ ]
112
+ }
113
+ ],
114
+ stateMutability: "view"
115
+ },
94
116
  {
95
117
  type: "function",
96
118
  name: "liquidatableTypeToCompressorType",
@@ -165,17 +165,17 @@ const rwaCompressorAbi = [
165
165
  name: "InvalidDomainException",
166
166
  inputs: [{ name: "domain", type: "bytes32", internalType: "bytes32" }]
167
167
  },
168
- {
169
- type: "error",
170
- name: "InvalidRWAFactoryException",
171
- inputs: [{ name: "factory", type: "address", internalType: "address" }]
172
- },
173
168
  {
174
169
  type: "error",
175
170
  name: "InvalidMarketConfiguratorException",
176
171
  inputs: [
177
172
  { name: "marketConfigurator", type: "address", internalType: "address" }
178
173
  ]
174
+ },
175
+ {
176
+ type: "error",
177
+ name: "InvalidRWAFactoryException",
178
+ inputs: [{ name: "factory", type: "address", internalType: "address" }]
179
179
  }
180
180
  ];
181
181
  export {
@@ -29,11 +29,8 @@ const midasLiquidationSubcompressorAbi = [
29
29
  type: "tuple",
30
30
  internalType: "struct LiquidationData",
31
31
  components: [
32
- {
33
- name: "requiredUnderlyingAmount",
34
- type: "uint256",
35
- internalType: "uint256"
36
- },
32
+ { name: "requiredToken", type: "address", internalType: "address" },
33
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
37
34
  {
38
35
  name: "expectedOutputs",
39
36
  type: "tuple[]",
@@ -60,6 +57,7 @@ const midasLiquidationSubcompressorAbi = [
60
57
  ]
61
58
  },
62
59
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
60
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
63
61
  { name: "kycProtocol", type: "string", internalType: "string" },
64
62
  { name: "kycToken", type: "address", internalType: "address" }
65
63
  ]
@@ -67,6 +65,28 @@ const midasLiquidationSubcompressorAbi = [
67
65
  ],
68
66
  stateMutability: "nonpayable"
69
67
  },
68
+ {
69
+ type: "function",
70
+ name: "getRWALiquidatorInfo",
71
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
72
+ outputs: [
73
+ {
74
+ name: "info",
75
+ type: "tuple",
76
+ internalType: "struct RWALiquidatorInfo",
77
+ components: [
78
+ { name: "gateway", type: "address", internalType: "address" },
79
+ {
80
+ name: "liquidatorAddress",
81
+ type: "address",
82
+ internalType: "address"
83
+ },
84
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
85
+ ]
86
+ }
87
+ ],
88
+ stateMutability: "view"
89
+ },
70
90
  {
71
91
  type: "function",
72
92
  name: "version",
@@ -29,11 +29,8 @@ const securitizeLiquidationSubcompressorAbi = [
29
29
  type: "tuple",
30
30
  internalType: "struct LiquidationData",
31
31
  components: [
32
- {
33
- name: "requiredUnderlyingAmount",
34
- type: "uint256",
35
- internalType: "uint256"
36
- },
32
+ { name: "requiredToken", type: "address", internalType: "address" },
33
+ { name: "requiredAmount", type: "uint256", internalType: "uint256" },
37
34
  {
38
35
  name: "expectedOutputs",
39
36
  type: "tuple[]",
@@ -60,6 +57,7 @@ const securitizeLiquidationSubcompressorAbi = [
60
57
  ]
61
58
  },
62
59
  { name: "isLiquidatorEligible", type: "bool", internalType: "bool" },
60
+ { name: "isCreditAccountFrozen", type: "bool", internalType: "bool" },
63
61
  { name: "kycProtocol", type: "string", internalType: "string" },
64
62
  { name: "kycToken", type: "address", internalType: "address" }
65
63
  ]
@@ -67,6 +65,28 @@ const securitizeLiquidationSubcompressorAbi = [
67
65
  ],
68
66
  stateMutability: "nonpayable"
69
67
  },
68
+ {
69
+ type: "function",
70
+ name: "getRWALiquidatorInfo",
71
+ inputs: [{ name: "token", type: "address", internalType: "address" }],
72
+ outputs: [
73
+ {
74
+ name: "info",
75
+ type: "tuple",
76
+ internalType: "struct RWALiquidatorInfo",
77
+ components: [
78
+ { name: "gateway", type: "address", internalType: "address" },
79
+ {
80
+ name: "liquidatorAddress",
81
+ type: "address",
82
+ internalType: "address"
83
+ },
84
+ { name: "contractType", type: "bytes32", internalType: "bytes32" }
85
+ ]
86
+ }
87
+ ],
88
+ stateMutability: "view"
89
+ },
70
90
  {
71
91
  type: "function",
72
92
  name: "version",
@@ -49,6 +49,7 @@ const midasWithdrawalSubcompressorAbi = [
49
49
  { name: "callData", type: "bytes", internalType: "bytes" }
50
50
  ]
51
51
  },
52
+ { name: "redeemer", type: "address", internalType: "address" },
52
53
  { name: "extraData", type: "bytes", internalType: "bytes" }
53
54
  ]
54
55
  },
@@ -74,6 +75,7 @@ const midasWithdrawalSubcompressorAbi = [
74
75
  ]
75
76
  },
76
77
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
78
+ { name: "redeemer", type: "address", internalType: "address" },
77
79
  { name: "extraData", type: "bytes", internalType: "bytes" }
78
80
  ]
79
81
  }
@@ -123,6 +125,7 @@ const midasWithdrawalSubcompressorAbi = [
123
125
  { name: "callData", type: "bytes", internalType: "bytes" }
124
126
  ]
125
127
  },
128
+ { name: "redeemer", type: "address", internalType: "address" },
126
129
  { name: "extraData", type: "bytes", internalType: "bytes" }
127
130
  ]
128
131
  },
@@ -148,6 +151,7 @@ const midasWithdrawalSubcompressorAbi = [
148
151
  ]
149
152
  },
150
153
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
154
+ { name: "redeemer", type: "address", internalType: "address" },
151
155
  { name: "extraData", type: "bytes", internalType: "bytes" }
152
156
  ]
153
157
  }
@@ -49,6 +49,7 @@ const securitizeRedemptionSubcompressorAbi = [
49
49
  { name: "callData", type: "bytes", internalType: "bytes" }
50
50
  ]
51
51
  },
52
+ { name: "redeemer", type: "address", internalType: "address" },
52
53
  { name: "extraData", type: "bytes", internalType: "bytes" }
53
54
  ]
54
55
  },
@@ -74,6 +75,7 @@ const securitizeRedemptionSubcompressorAbi = [
74
75
  ]
75
76
  },
76
77
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
78
+ { name: "redeemer", type: "address", internalType: "address" },
77
79
  { name: "extraData", type: "bytes", internalType: "bytes" }
78
80
  ]
79
81
  }
@@ -123,6 +125,7 @@ const securitizeRedemptionSubcompressorAbi = [
123
125
  { name: "callData", type: "bytes", internalType: "bytes" }
124
126
  ]
125
127
  },
128
+ { name: "redeemer", type: "address", internalType: "address" },
126
129
  { name: "extraData", type: "bytes", internalType: "bytes" }
127
130
  ]
128
131
  },
@@ -148,6 +151,7 @@ const securitizeRedemptionSubcompressorAbi = [
148
151
  ]
149
152
  },
150
153
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
154
+ { name: "redeemer", type: "address", internalType: "address" },
151
155
  { name: "extraData", type: "bytes", internalType: "bytes" }
152
156
  ]
153
157
  }
@@ -73,6 +73,7 @@ const withdrawalCompressorAbi = [
73
73
  { name: "callData", type: "bytes", internalType: "bytes" }
74
74
  ]
75
75
  },
76
+ { name: "redeemer", type: "address", internalType: "address" },
76
77
  { name: "extraData", type: "bytes", internalType: "bytes" }
77
78
  ]
78
79
  },
@@ -98,6 +99,7 @@ const withdrawalCompressorAbi = [
98
99
  ]
99
100
  },
100
101
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
102
+ { name: "redeemer", type: "address", internalType: "address" },
101
103
  { name: "extraData", type: "bytes", internalType: "bytes" }
102
104
  ]
103
105
  }
@@ -151,6 +153,7 @@ const withdrawalCompressorAbi = [
151
153
  { name: "callData", type: "bytes", internalType: "bytes" }
152
154
  ]
153
155
  },
156
+ { name: "redeemer", type: "address", internalType: "address" },
154
157
  { name: "extraData", type: "bytes", internalType: "bytes" }
155
158
  ]
156
159
  },
@@ -176,6 +179,7 @@ const withdrawalCompressorAbi = [
176
179
  ]
177
180
  },
178
181
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
182
+ { name: "redeemer", type: "address", internalType: "address" },
179
183
  { name: "extraData", type: "bytes", internalType: "bytes" }
180
184
  ]
181
185
  }
@@ -225,6 +229,7 @@ const withdrawalCompressorAbi = [
225
229
  { name: "callData", type: "bytes", internalType: "bytes" }
226
230
  ]
227
231
  },
232
+ { name: "redeemer", type: "address", internalType: "address" },
228
233
  { name: "extraData", type: "bytes", internalType: "bytes" }
229
234
  ]
230
235
  },
@@ -250,6 +255,7 @@ const withdrawalCompressorAbi = [
250
255
  ]
251
256
  },
252
257
  { name: "claimableAt", type: "uint256", internalType: "uint256" },
258
+ { name: "redeemer", type: "address", internalType: "address" },
253
259
  { name: "extraData", type: "bytes", internalType: "bytes" }
254
260
  ]
255
261
  }
@@ -220,17 +220,16 @@ class BytecodeRepositoryContract extends BaseContract {
220
220
  authorSignature: uploadData.authorSignature
221
221
  };
222
222
  }
223
+ case "deploy": {
224
+ const [contractType, version, constructorParams, salt] = params.args;
225
+ return {
226
+ contractType: hexToString(contractType, { size: 32 }),
227
+ version: version.toString(),
228
+ constructorParams,
229
+ salt: hexToString(salt, { size: 32 })
230
+ };
231
+ }
223
232
  // TODO: add all functions here!
224
- // case "deployContract": {
225
- // const [contractType, version, encodedParams, salt, owner] = params.args;
226
- // return this.wrapParseCall(params, {
227
- // contractType: hexToString(contractType, { size: 32 }),
228
- // version: version.toString(),
229
- // encodedParams,
230
- // salt,
231
- // owner,
232
- // });
233
- // }
234
233
  // case "setContractTypeVersion": {
235
234
  // const [contractType, version] = params.args;
236
235
  // return this.wrapParseCall(params, {
@@ -11,18 +11,25 @@ import {
11
11
  formatTimestamp,
12
12
  json_stringify
13
13
  } from "../../../sdk/index.js";
14
+ import { Addresses } from "../../deployment/addresses.js";
15
+ import { BytecodeRepositoryContract } from "../bytecode-repository.js";
14
16
  import { MarketConfiguratorContract } from "../market-configurator.js";
15
17
  import { TreasurySplitterContract } from "../treasury-splitter.js";
16
18
  import { BatchesChainContract } from "./batches-chain.js";
17
19
  const abi = governorAbi;
18
20
  class GovernorContract extends BaseContract {
19
21
  batchesChainContract;
22
+ bcr;
20
23
  constructor(addr, client) {
21
24
  super({ client }, { abi, addr, name: "Governor" });
22
25
  this.batchesChainContract = new BatchesChainContract(
23
26
  "0x59b2fd348e4Ade84ffEfDaf5fcdDa7276c8C5041",
24
27
  client
25
28
  );
29
+ this.bcr = new BytecodeRepositoryContract(
30
+ Addresses.BYTECODE_REPOSITORY,
31
+ client
32
+ );
26
33
  }
27
34
  getTxHash(tx) {
28
35
  if (tx.contractMethod.name !== "queueTransaction") {
@@ -131,6 +138,9 @@ class GovernorContract extends BaseContract {
131
138
  case this.batchesChainContract.address.toLowerCase(): {
132
139
  return this.batchesChainContract.parseFunctionData(calldata);
133
140
  }
141
+ case this.bcr.address.toLowerCase(): {
142
+ return this.bcr.parseFunctionData(calldata);
143
+ }
134
144
  default: {
135
145
  try {
136
146
  let parsedData;
@@ -20,6 +20,7 @@ import { WithdrawalCompressorContract } from "./compressors/index.js";
20
20
  import { PriceFeedStoreContract } from "./price-feed-store.js";
21
21
  import { RoutingManagerContract } from "./router/index.js";
22
22
  import { TreasurySplitterContract } from "./treasury-splitter.js";
23
+ import { BytecodeRepositoryContract } from "./bytecode-repository.js";
23
24
  const abi = instanceManagerAbi;
24
25
  class InstanceManagerContract extends BaseContract {
25
26
  constructor(addr, register) {
@@ -35,6 +36,10 @@ class InstanceManagerContract extends BaseContract {
35
36
  const priceFeedStore = new PriceFeedStoreContract(target, this.client);
36
37
  return priceFeedStore.parseFunctionData(calldata);
37
38
  }
39
+ case Addresses.BYTECODE_REPOSITORY.toLowerCase(): {
40
+ const bcr = new BytecodeRepositoryContract(target, this.client);
41
+ return bcr.parseFunctionData(calldata);
42
+ }
38
43
  default: {
39
44
  try {
40
45
  let parsedData;
@@ -4,6 +4,7 @@ var Addresses = /* @__PURE__ */ ((Addresses2) => {
4
4
  Addresses2["PRICE_FEED_STORE"] = "0x74A868AC479EE145029bB80827BB77F7B7c441cB";
5
5
  Addresses2["IO_PROXY"] = "0xBcD875f0D62B9AA22481c81975F9AE1753Fc559A";
6
6
  Addresses2["INSTANCE_MANAGER"] = "0x77777777144339Bdc3aCceE992D8d4D31734CB2e";
7
+ Addresses2["BYTECODE_REPOSITORY"] = "0x1cE2B1BE96a082b1b1539F80d5D8f82Ec06a0f9A";
7
8
  return Addresses2;
8
9
  })(Addresses || {});
9
10
  export {
@@ -78,7 +78,11 @@ export declare const liquidationCompressorAbi: readonly [{
78
78
  readonly type: "tuple";
79
79
  readonly internalType: "struct LiquidationData";
80
80
  readonly components: readonly [{
81
- readonly name: "requiredUnderlyingAmount";
81
+ readonly name: "requiredToken";
82
+ readonly type: "address";
83
+ readonly internalType: "address";
84
+ }, {
85
+ readonly name: "requiredAmount";
82
86
  readonly type: "uint256";
83
87
  readonly internalType: "uint256";
84
88
  }, {
@@ -123,6 +127,10 @@ export declare const liquidationCompressorAbi: readonly [{
123
127
  readonly name: "isLiquidatorEligible";
124
128
  readonly type: "bool";
125
129
  readonly internalType: "bool";
130
+ }, {
131
+ readonly name: "isCreditAccountFrozen";
132
+ readonly type: "bool";
133
+ readonly internalType: "bool";
126
134
  }, {
127
135
  readonly name: "kycProtocol";
128
136
  readonly type: "string";
@@ -134,6 +142,33 @@ export declare const liquidationCompressorAbi: readonly [{
134
142
  }];
135
143
  }];
136
144
  readonly stateMutability: "nonpayable";
145
+ }, {
146
+ readonly type: "function";
147
+ readonly name: "getRWALiquidators";
148
+ readonly inputs: readonly [{
149
+ readonly name: "marketConfigurator";
150
+ readonly type: "address";
151
+ readonly internalType: "address";
152
+ }];
153
+ readonly outputs: readonly [{
154
+ readonly name: "liquidators";
155
+ readonly type: "tuple[]";
156
+ readonly internalType: "struct RWALiquidatorInfo[]";
157
+ readonly components: readonly [{
158
+ readonly name: "gateway";
159
+ readonly type: "address";
160
+ readonly internalType: "address";
161
+ }, {
162
+ readonly name: "liquidatorAddress";
163
+ readonly type: "address";
164
+ readonly internalType: "address";
165
+ }, {
166
+ readonly name: "contractType";
167
+ readonly type: "bytes32";
168
+ readonly internalType: "bytes32";
169
+ }];
170
+ }];
171
+ readonly stateMutability: "view";
137
172
  }, {
138
173
  readonly type: "function";
139
174
  readonly name: "liquidatableTypeToCompressorType";
@@ -219,17 +219,17 @@ export declare const rwaCompressorAbi: readonly [{
219
219
  }];
220
220
  }, {
221
221
  readonly type: "error";
222
- readonly name: "InvalidRWAFactoryException";
222
+ readonly name: "InvalidMarketConfiguratorException";
223
223
  readonly inputs: readonly [{
224
- readonly name: "factory";
224
+ readonly name: "marketConfigurator";
225
225
  readonly type: "address";
226
226
  readonly internalType: "address";
227
227
  }];
228
228
  }, {
229
229
  readonly type: "error";
230
- readonly name: "InvalidMarketConfiguratorException";
230
+ readonly name: "InvalidRWAFactoryException";
231
231
  readonly inputs: readonly [{
232
- readonly name: "marketConfigurator";
232
+ readonly name: "factory";
233
233
  readonly type: "address";
234
234
  readonly internalType: "address";
235
235
  }];
@@ -42,7 +42,11 @@ export declare const midasLiquidationSubcompressorAbi: readonly [{
42
42
  readonly type: "tuple";
43
43
  readonly internalType: "struct LiquidationData";
44
44
  readonly components: readonly [{
45
- readonly name: "requiredUnderlyingAmount";
45
+ readonly name: "requiredToken";
46
+ readonly type: "address";
47
+ readonly internalType: "address";
48
+ }, {
49
+ readonly name: "requiredAmount";
46
50
  readonly type: "uint256";
47
51
  readonly internalType: "uint256";
48
52
  }, {
@@ -87,6 +91,10 @@ export declare const midasLiquidationSubcompressorAbi: readonly [{
87
91
  readonly name: "isLiquidatorEligible";
88
92
  readonly type: "bool";
89
93
  readonly internalType: "bool";
94
+ }, {
95
+ readonly name: "isCreditAccountFrozen";
96
+ readonly type: "bool";
97
+ readonly internalType: "bool";
90
98
  }, {
91
99
  readonly name: "kycProtocol";
92
100
  readonly type: "string";
@@ -98,6 +106,33 @@ export declare const midasLiquidationSubcompressorAbi: readonly [{
98
106
  }];
99
107
  }];
100
108
  readonly stateMutability: "nonpayable";
109
+ }, {
110
+ readonly type: "function";
111
+ readonly name: "getRWALiquidatorInfo";
112
+ readonly inputs: readonly [{
113
+ readonly name: "token";
114
+ readonly type: "address";
115
+ readonly internalType: "address";
116
+ }];
117
+ readonly outputs: readonly [{
118
+ readonly name: "info";
119
+ readonly type: "tuple";
120
+ readonly internalType: "struct RWALiquidatorInfo";
121
+ readonly components: readonly [{
122
+ readonly name: "gateway";
123
+ readonly type: "address";
124
+ readonly internalType: "address";
125
+ }, {
126
+ readonly name: "liquidatorAddress";
127
+ readonly type: "address";
128
+ readonly internalType: "address";
129
+ }, {
130
+ readonly name: "contractType";
131
+ readonly type: "bytes32";
132
+ readonly internalType: "bytes32";
133
+ }];
134
+ }];
135
+ readonly stateMutability: "view";
101
136
  }, {
102
137
  readonly type: "function";
103
138
  readonly name: "version";
@@ -42,7 +42,11 @@ export declare const securitizeLiquidationSubcompressorAbi: readonly [{
42
42
  readonly type: "tuple";
43
43
  readonly internalType: "struct LiquidationData";
44
44
  readonly components: readonly [{
45
- readonly name: "requiredUnderlyingAmount";
45
+ readonly name: "requiredToken";
46
+ readonly type: "address";
47
+ readonly internalType: "address";
48
+ }, {
49
+ readonly name: "requiredAmount";
46
50
  readonly type: "uint256";
47
51
  readonly internalType: "uint256";
48
52
  }, {
@@ -87,6 +91,10 @@ export declare const securitizeLiquidationSubcompressorAbi: readonly [{
87
91
  readonly name: "isLiquidatorEligible";
88
92
  readonly type: "bool";
89
93
  readonly internalType: "bool";
94
+ }, {
95
+ readonly name: "isCreditAccountFrozen";
96
+ readonly type: "bool";
97
+ readonly internalType: "bool";
90
98
  }, {
91
99
  readonly name: "kycProtocol";
92
100
  readonly type: "string";
@@ -98,6 +106,33 @@ export declare const securitizeLiquidationSubcompressorAbi: readonly [{
98
106
  }];
99
107
  }];
100
108
  readonly stateMutability: "nonpayable";
109
+ }, {
110
+ readonly type: "function";
111
+ readonly name: "getRWALiquidatorInfo";
112
+ readonly inputs: readonly [{
113
+ readonly name: "token";
114
+ readonly type: "address";
115
+ readonly internalType: "address";
116
+ }];
117
+ readonly outputs: readonly [{
118
+ readonly name: "info";
119
+ readonly type: "tuple";
120
+ readonly internalType: "struct RWALiquidatorInfo";
121
+ readonly components: readonly [{
122
+ readonly name: "gateway";
123
+ readonly type: "address";
124
+ readonly internalType: "address";
125
+ }, {
126
+ readonly name: "liquidatorAddress";
127
+ readonly type: "address";
128
+ readonly internalType: "address";
129
+ }, {
130
+ readonly name: "contractType";
131
+ readonly type: "bytes32";
132
+ readonly internalType: "bytes32";
133
+ }];
134
+ }];
135
+ readonly stateMutability: "view";
101
136
  }, {
102
137
  readonly type: "function";
103
138
  readonly name: "version";
@@ -66,6 +66,10 @@ export declare const midasWithdrawalSubcompressorAbi: readonly [{
66
66
  readonly type: "bytes";
67
67
  readonly internalType: "bytes";
68
68
  }];
69
+ }, {
70
+ readonly name: "redeemer";
71
+ readonly type: "address";
72
+ readonly internalType: "address";
69
73
  }, {
70
74
  readonly name: "extraData";
71
75
  readonly type: "bytes";
@@ -104,6 +108,10 @@ export declare const midasWithdrawalSubcompressorAbi: readonly [{
104
108
  readonly name: "claimableAt";
105
109
  readonly type: "uint256";
106
110
  readonly internalType: "uint256";
111
+ }, {
112
+ readonly name: "redeemer";
113
+ readonly type: "address";
114
+ readonly internalType: "address";
107
115
  }, {
108
116
  readonly name: "extraData";
109
117
  readonly type: "bytes";
@@ -169,6 +177,10 @@ export declare const midasWithdrawalSubcompressorAbi: readonly [{
169
177
  readonly type: "bytes";
170
178
  readonly internalType: "bytes";
171
179
  }];
180
+ }, {
181
+ readonly name: "redeemer";
182
+ readonly type: "address";
183
+ readonly internalType: "address";
172
184
  }, {
173
185
  readonly name: "extraData";
174
186
  readonly type: "bytes";
@@ -207,6 +219,10 @@ export declare const midasWithdrawalSubcompressorAbi: readonly [{
207
219
  readonly name: "claimableAt";
208
220
  readonly type: "uint256";
209
221
  readonly internalType: "uint256";
222
+ }, {
223
+ readonly name: "redeemer";
224
+ readonly type: "address";
225
+ readonly internalType: "address";
210
226
  }, {
211
227
  readonly name: "extraData";
212
228
  readonly type: "bytes";
@@ -66,6 +66,10 @@ export declare const securitizeRedemptionSubcompressorAbi: readonly [{
66
66
  readonly type: "bytes";
67
67
  readonly internalType: "bytes";
68
68
  }];
69
+ }, {
70
+ readonly name: "redeemer";
71
+ readonly type: "address";
72
+ readonly internalType: "address";
69
73
  }, {
70
74
  readonly name: "extraData";
71
75
  readonly type: "bytes";
@@ -104,6 +108,10 @@ export declare const securitizeRedemptionSubcompressorAbi: readonly [{
104
108
  readonly name: "claimableAt";
105
109
  readonly type: "uint256";
106
110
  readonly internalType: "uint256";
111
+ }, {
112
+ readonly name: "redeemer";
113
+ readonly type: "address";
114
+ readonly internalType: "address";
107
115
  }, {
108
116
  readonly name: "extraData";
109
117
  readonly type: "bytes";
@@ -169,6 +177,10 @@ export declare const securitizeRedemptionSubcompressorAbi: readonly [{
169
177
  readonly type: "bytes";
170
178
  readonly internalType: "bytes";
171
179
  }];
180
+ }, {
181
+ readonly name: "redeemer";
182
+ readonly type: "address";
183
+ readonly internalType: "address";
172
184
  }, {
173
185
  readonly name: "extraData";
174
186
  readonly type: "bytes";
@@ -207,6 +219,10 @@ export declare const securitizeRedemptionSubcompressorAbi: readonly [{
207
219
  readonly name: "claimableAt";
208
220
  readonly type: "uint256";
209
221
  readonly internalType: "uint256";
222
+ }, {
223
+ readonly name: "redeemer";
224
+ readonly type: "address";
225
+ readonly internalType: "address";
210
226
  }, {
211
227
  readonly name: "extraData";
212
228
  readonly type: "bytes";
@@ -102,6 +102,10 @@ export declare const withdrawalCompressorAbi: readonly [{
102
102
  readonly type: "bytes";
103
103
  readonly internalType: "bytes";
104
104
  }];
105
+ }, {
106
+ readonly name: "redeemer";
107
+ readonly type: "address";
108
+ readonly internalType: "address";
105
109
  }, {
106
110
  readonly name: "extraData";
107
111
  readonly type: "bytes";
@@ -140,6 +144,10 @@ export declare const withdrawalCompressorAbi: readonly [{
140
144
  readonly name: "claimableAt";
141
145
  readonly type: "uint256";
142
146
  readonly internalType: "uint256";
147
+ }, {
148
+ readonly name: "redeemer";
149
+ readonly type: "address";
150
+ readonly internalType: "address";
143
151
  }, {
144
152
  readonly name: "extraData";
145
153
  readonly type: "bytes";
@@ -205,6 +213,10 @@ export declare const withdrawalCompressorAbi: readonly [{
205
213
  readonly type: "bytes";
206
214
  readonly internalType: "bytes";
207
215
  }];
216
+ }, {
217
+ readonly name: "redeemer";
218
+ readonly type: "address";
219
+ readonly internalType: "address";
208
220
  }, {
209
221
  readonly name: "extraData";
210
222
  readonly type: "bytes";
@@ -243,6 +255,10 @@ export declare const withdrawalCompressorAbi: readonly [{
243
255
  readonly name: "claimableAt";
244
256
  readonly type: "uint256";
245
257
  readonly internalType: "uint256";
258
+ }, {
259
+ readonly name: "redeemer";
260
+ readonly type: "address";
261
+ readonly internalType: "address";
246
262
  }, {
247
263
  readonly name: "extraData";
248
264
  readonly type: "bytes";
@@ -308,6 +324,10 @@ export declare const withdrawalCompressorAbi: readonly [{
308
324
  readonly type: "bytes";
309
325
  readonly internalType: "bytes";
310
326
  }];
327
+ }, {
328
+ readonly name: "redeemer";
329
+ readonly type: "address";
330
+ readonly internalType: "address";
311
331
  }, {
312
332
  readonly name: "extraData";
313
333
  readonly type: "bytes";
@@ -346,6 +366,10 @@ export declare const withdrawalCompressorAbi: readonly [{
346
366
  readonly name: "claimableAt";
347
367
  readonly type: "uint256";
348
368
  readonly internalType: "uint256";
369
+ }, {
370
+ readonly name: "redeemer";
371
+ readonly type: "address";
372
+ readonly internalType: "address";
349
373
  }, {
350
374
  readonly name: "extraData";
351
375
  readonly type: "bytes";
@@ -104,6 +104,10 @@ declare const abi: readonly [{
104
104
  readonly type: "bytes";
105
105
  readonly internalType: "bytes";
106
106
  }];
107
+ }, {
108
+ readonly name: "redeemer";
109
+ readonly type: "address";
110
+ readonly internalType: "address";
107
111
  }, {
108
112
  readonly name: "extraData";
109
113
  readonly type: "bytes";
@@ -142,6 +146,10 @@ declare const abi: readonly [{
142
146
  readonly name: "claimableAt";
143
147
  readonly type: "uint256";
144
148
  readonly internalType: "uint256";
149
+ }, {
150
+ readonly name: "redeemer";
151
+ readonly type: "address";
152
+ readonly internalType: "address";
145
153
  }, {
146
154
  readonly name: "extraData";
147
155
  readonly type: "bytes";
@@ -207,6 +215,10 @@ declare const abi: readonly [{
207
215
  readonly type: "bytes";
208
216
  readonly internalType: "bytes";
209
217
  }];
218
+ }, {
219
+ readonly name: "redeemer";
220
+ readonly type: "address";
221
+ readonly internalType: "address";
210
222
  }, {
211
223
  readonly name: "extraData";
212
224
  readonly type: "bytes";
@@ -245,6 +257,10 @@ declare const abi: readonly [{
245
257
  readonly name: "claimableAt";
246
258
  readonly type: "uint256";
247
259
  readonly internalType: "uint256";
260
+ }, {
261
+ readonly name: "redeemer";
262
+ readonly type: "address";
263
+ readonly internalType: "address";
248
264
  }, {
249
265
  readonly name: "extraData";
250
266
  readonly type: "bytes";
@@ -310,6 +326,10 @@ declare const abi: readonly [{
310
326
  readonly type: "bytes";
311
327
  readonly internalType: "bytes";
312
328
  }];
329
+ }, {
330
+ readonly name: "redeemer";
331
+ readonly type: "address";
332
+ readonly internalType: "address";
313
333
  }, {
314
334
  readonly name: "extraData";
315
335
  readonly type: "bytes";
@@ -348,6 +368,10 @@ declare const abi: readonly [{
348
368
  readonly name: "claimableAt";
349
369
  readonly type: "uint256";
350
370
  readonly internalType: "uint256";
371
+ }, {
372
+ readonly name: "redeemer";
373
+ readonly type: "address";
374
+ readonly internalType: "address";
351
375
  }, {
352
376
  readonly name: "extraData";
353
377
  readonly type: "bytes";
@@ -1,6 +1,7 @@
1
1
  import { type Address, type Chain, type DecodeFunctionDataReturnType, type Hash, type PublicClient, type Transport } from "viem";
2
2
  import type { ParsedCallArgs, RawTx } from "../../../sdk/index.js";
3
3
  import { BaseContract } from "../../../sdk/index.js";
4
+ import { BytecodeRepositoryContract } from "../bytecode-repository.js";
4
5
  import { BatchesChainContract } from "./batches-chain.js";
5
6
  import type { SafeTx } from "./types.js";
6
7
  declare const abi: readonly [{
@@ -590,6 +591,7 @@ declare const abi: readonly [{
590
591
  export declare class GovernorContract extends BaseContract<typeof abi> {
591
592
  #private;
592
593
  readonly batchesChainContract: BatchesChainContract;
594
+ readonly bcr: BytecodeRepositoryContract;
593
595
  constructor(addr: Address, client: PublicClient<Transport, Chain>);
594
596
  getTxHash(tx: RawTx): Hash;
595
597
  owner(): Promise<Address>;
@@ -3,5 +3,6 @@ export declare enum Addresses {
3
3
  ZERO_PRICE_FEED = "0x5dC92eC92cd5423EF95aEbe8Ac96619BCc9ffC88",
4
4
  PRICE_FEED_STORE = "0x74A868AC479EE145029bB80827BB77F7B7c441cB",
5
5
  IO_PROXY = "0xBcD875f0D62B9AA22481c81975F9AE1753Fc559A",
6
- INSTANCE_MANAGER = "0x77777777144339Bdc3aCceE992D8d4D31734CB2e"
6
+ INSTANCE_MANAGER = "0x77777777144339Bdc3aCceE992D8d4D31734CB2e",
7
+ BYTECODE_REPOSITORY = "0x1cE2B1BE96a082b1b1539F80d5D8f82Ec06a0f9A"
7
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "14.11.15",
3
+ "version": "14.11.17",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {