@pendle/sdk-boros 0.4.1-mm → 0.4.2

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 (95) hide show
  1. package/dist/backend/secrettune/BorosCoreSDK.d.ts +1 -1
  2. package/dist/backend/secrettune/BorosCoreSDK.js +2 -2
  3. package/dist/backend/secrettune/BorosCoreSDK.js.map +1 -1
  4. package/dist/backend/secrettune/BorosSendTxsBotSDK.js +1 -1
  5. package/dist/backend/secrettune/BorosSendTxsBotSDK.js.map +1 -1
  6. package/dist/common/cacheDecorators.d.ts +19 -0
  7. package/dist/common/cacheDecorators.js +112 -0
  8. package/dist/common/cacheDecorators.js.map +1 -0
  9. package/dist/common/time.d.ts +19 -0
  10. package/dist/common/time.js +102 -0
  11. package/dist/common/time.js.map +1 -0
  12. package/dist/common/types.d.ts +155 -0
  13. package/dist/common/types.js +16 -0
  14. package/dist/common/types.js.map +1 -0
  15. package/dist/constants.d.ts +1 -0
  16. package/dist/constants.js +2 -1
  17. package/dist/constants.js.map +1 -1
  18. package/dist/contracts/abis/distributorAbi.js.map +1 -0
  19. package/dist/contracts/abis/multiTokenMerkleDistributorAbi.js.map +1 -0
  20. package/dist/contracts/{viemAbis.d.ts → abis/viemAbis.d.ts} +410 -366
  21. package/dist/contracts/{viemAbis.js → abis/viemAbis.js} +281 -248
  22. package/dist/contracts/abis/viemAbis.js.map +1 -0
  23. package/dist/contracts/amm.d.ts +600 -0
  24. package/dist/contracts/amm.js +36 -0
  25. package/dist/contracts/amm.js.map +1 -0
  26. package/dist/contracts/base-contract-helper.d.ts +15 -0
  27. package/dist/contracts/base-contract-helper.js +36 -0
  28. package/dist/contracts/base-contract-helper.js.map +1 -0
  29. package/dist/contracts/consts.d.ts +1 -0
  30. package/dist/contracts/consts.js +5 -0
  31. package/dist/contracts/consts.js.map +1 -0
  32. package/dist/contracts/contracts.factory.d.ts +25 -0
  33. package/dist/contracts/contracts.factory.js +73 -0
  34. package/dist/contracts/contracts.factory.js.map +1 -0
  35. package/dist/contracts/explorer.d.ts +582 -0
  36. package/dist/contracts/explorer.js +53 -0
  37. package/dist/contracts/explorer.js.map +1 -0
  38. package/dist/contracts/index.d.ts +3 -3
  39. package/dist/contracts/index.js +3 -3
  40. package/dist/contracts/index.js.map +1 -1
  41. package/dist/contracts/market.d.ts +1700 -0
  42. package/dist/contracts/market.js +85 -0
  43. package/dist/contracts/market.js.map +1 -0
  44. package/dist/entities/accManager/accManager.js +1 -1
  45. package/dist/entities/accManager/accManager.js.map +1 -1
  46. package/dist/entities/agent/agent.js +1 -1
  47. package/dist/entities/agent/agent.js.map +1 -1
  48. package/dist/entities/exchange/exchange.d.ts +3423 -287
  49. package/dist/entities/exchange/exchange.js +277 -15
  50. package/dist/entities/exchange/exchange.js.map +1 -1
  51. package/dist/entities/exchange/types.d.ts +32 -3
  52. package/dist/entities/exchange/utils.d.ts +40 -24
  53. package/dist/entities/exchange/utils.js +2 -2
  54. package/dist/entities/exchange/utils.js.map +1 -1
  55. package/dist/entities/marketHub.d.ts +1 -1
  56. package/dist/entities/marketHub.js +1 -1
  57. package/dist/entities/marketHub.js.map +1 -1
  58. package/dist/entities/multiTokenMerkleDistributor/constants.d.ts +1 -0
  59. package/dist/entities/multiTokenMerkleDistributor/constants.js +2 -1
  60. package/dist/entities/multiTokenMerkleDistributor/constants.js.map +1 -1
  61. package/dist/entities/multiTokenMerkleDistributor/index.d.ts +1 -0
  62. package/dist/entities/multiTokenMerkleDistributor/index.js +1 -0
  63. package/dist/entities/multiTokenMerkleDistributor/index.js.map +1 -1
  64. package/dist/entities/multiTokenMerkleDistributor/lpRewardsDistributor.d.ts +13 -0
  65. package/dist/entities/multiTokenMerkleDistributor/lpRewardsDistributor.js +25 -0
  66. package/dist/entities/multiTokenMerkleDistributor/lpRewardsDistributor.js.map +1 -0
  67. package/dist/entities/multiTokenMerkleDistributor/multiTokenMerkleDistributorContract.js +1 -1
  68. package/dist/entities/multiTokenMerkleDistributor/multiTokenMerkleDistributorContract.js.map +1 -1
  69. package/dist/entities/publicClient.js +1 -1
  70. package/dist/entities/publicClient.js.map +1 -1
  71. package/dist/multicall/constants.d.ts +27 -0
  72. package/dist/multicall/constants.js +31 -0
  73. package/dist/multicall/constants.js.map +1 -0
  74. package/dist/multicall/helpers.d.ts +9 -0
  75. package/dist/multicall/helpers.js +40 -0
  76. package/dist/multicall/helpers.js.map +1 -0
  77. package/dist/multicall/multicall.d.ts +71 -0
  78. package/dist/multicall/multicall.js +250 -0
  79. package/dist/multicall/multicall.js.map +1 -0
  80. package/dist/types/encoders.d.ts +6 -0
  81. package/dist/types/encoders.js +8 -1
  82. package/dist/types/encoders.js.map +1 -1
  83. package/dist/utils/signing/agent.d.ts +18 -3
  84. package/dist/utils/signing/agent.js +39 -15
  85. package/dist/utils/signing/agent.js.map +1 -1
  86. package/dist/utils/signing/common.js +10 -1
  87. package/dist/utils/signing/common.js.map +1 -1
  88. package/package.json +2 -1
  89. package/dist/contracts/distributorAbi.js.map +0 -1
  90. package/dist/contracts/multiTokenMerkleDistributorAbi.js.map +0 -1
  91. package/dist/contracts/viemAbis.js.map +0 -1
  92. /package/dist/contracts/{distributorAbi.d.ts → abis/distributorAbi.d.ts} +0 -0
  93. /package/dist/contracts/{distributorAbi.js → abis/distributorAbi.js} +0 -0
  94. /package/dist/contracts/{multiTokenMerkleDistributorAbi.d.ts → abis/multiTokenMerkleDistributorAbi.d.ts} +0 -0
  95. /package/dist/contracts/{multiTokenMerkleDistributorAbi.js → abis/multiTokenMerkleDistributorAbi.js} +0 -0
@@ -357,6 +357,20 @@ export declare function parseEvents(txHash: Hex): Promise<{
357
357
  }];
358
358
  readonly stateMutability: "view";
359
359
  readonly type: "function";
360
+ }, {
361
+ readonly inputs: readonly [{
362
+ readonly internalType: "MarketAcc";
363
+ readonly name: "user";
364
+ readonly type: "bytes26";
365
+ }, {
366
+ readonly internalType: "int256";
367
+ readonly name: "delta";
368
+ readonly type: "int256";
369
+ }];
370
+ readonly name: "adjustAccCash";
371
+ readonly outputs: readonly [];
372
+ readonly stateMutability: "nonpayable";
373
+ readonly type: "function";
360
374
  }, {
361
375
  readonly inputs: readonly [{
362
376
  readonly internalType: "MarketAcc";
@@ -998,6 +1012,20 @@ export declare function parseEvents(txHash: Hex): Promise<{
998
1012
  }];
999
1013
  readonly stateMutability: "view";
1000
1014
  readonly type: "function";
1015
+ }, {
1016
+ readonly inputs: readonly [{
1017
+ readonly internalType: "MarketAcc";
1018
+ readonly name: "user";
1019
+ readonly type: "bytes26";
1020
+ }, {
1021
+ readonly internalType: "int256";
1022
+ readonly name: "desiredCash";
1023
+ readonly type: "int256";
1024
+ }];
1025
+ readonly name: "setAccCash";
1026
+ readonly outputs: readonly [];
1027
+ readonly stateMutability: "nonpayable";
1028
+ readonly type: "function";
1001
1029
  }, {
1002
1030
  readonly inputs: readonly [{
1003
1031
  readonly internalType: "int128";
@@ -1866,7 +1894,7 @@ export declare function parseEvents(txHash: Hex): Promise<{
1866
1894
  readonly name: "rate";
1867
1895
  readonly type: "int256";
1868
1896
  }];
1869
- readonly internalType: "struct IMarketAllTypes.Order[]";
1897
+ readonly internalType: "struct IMarketOffViewOnly.Order[]";
1870
1898
  readonly name: "";
1871
1899
  readonly type: "tuple[]";
1872
1900
  }];
@@ -2181,7 +2209,7 @@ export declare function parseEvents(txHash: Hex): Promise<{
2181
2209
  readonly name: "rate";
2182
2210
  readonly type: "int256";
2183
2211
  }];
2184
- readonly internalType: "struct IMarketAllTypes.Order";
2212
+ readonly internalType: "struct IMarketOffViewOnly.Order";
2185
2213
  readonly name: "order";
2186
2214
  readonly type: "tuple";
2187
2215
  }];
@@ -2593,6 +2621,16 @@ export declare function parseEvents(txHash: Hex): Promise<{
2593
2621
  }];
2594
2622
  readonly stateMutability: "nonpayable";
2595
2623
  readonly type: "function";
2624
+ }, {
2625
+ readonly inputs: readonly [{
2626
+ readonly internalType: "MarketAcc";
2627
+ readonly name: "user";
2628
+ readonly type: "bytes26";
2629
+ }];
2630
+ readonly name: "resetDelevLiqNonce";
2631
+ readonly outputs: readonly [];
2632
+ readonly stateMutability: "nonpayable";
2633
+ readonly type: "function";
2596
2634
  }, {
2597
2635
  readonly inputs: readonly [{
2598
2636
  readonly internalType: "uint64";
@@ -4352,11 +4390,6 @@ export declare function decodeLog(log: Log<bigint, number, false>): {
4352
4390
  args: {
4353
4391
  user: `0x${string}`;
4354
4392
  };
4355
- } | {
4356
- eventName: "MaxDeltaSet";
4357
- args: {
4358
- newMaxDelta: bigint;
4359
- };
4360
4393
  } | {
4361
4394
  eventName: "LiqSettingsSet";
4362
4395
  args: {
@@ -4380,12 +4413,6 @@ export declare function decodeLog(log: Log<bigint, number, false>): {
4380
4413
  loLowerSlopeBase1e4: number;
4381
4414
  };
4382
4415
  };
4383
- } | {
4384
- eventName: "SelectorToFacetSet";
4385
- args: {
4386
- selector: `0x${string}`;
4387
- facet: `0x${string}`;
4388
- };
4389
4416
  } | {
4390
4417
  eventName: "Claimed";
4391
4418
  args: {
@@ -5926,11 +5953,6 @@ export declare function getTransactionData(txHash: Hex): Promise<{
5926
5953
  args: {
5927
5954
  user: `0x${string}`;
5928
5955
  };
5929
- } | {
5930
- eventName: "MaxDeltaSet";
5931
- args: {
5932
- newMaxDelta: bigint;
5933
- };
5934
5956
  } | {
5935
5957
  eventName: "LiqSettingsSet";
5936
5958
  args: {
@@ -5954,12 +5976,6 @@ export declare function getTransactionData(txHash: Hex): Promise<{
5954
5976
  loLowerSlopeBase1e4: number;
5955
5977
  };
5956
5978
  };
5957
- } | {
5958
- eventName: "SelectorToFacetSet";
5959
- args: {
5960
- selector: `0x${string}`;
5961
- facet: `0x${string}`;
5962
- };
5963
5979
  } | {
5964
5980
  eventName: "Claimed";
5965
5981
  args: {
@@ -39,9 +39,9 @@ exports.getTransactionData = getTransactionData;
39
39
  exports.getAgentExecuteCalldata = getAgentExecuteCalldata;
40
40
  exports.simulateDirectCall = simulateDirectCall;
41
41
  const viem_1 = require("viem");
42
- const Abis = __importStar(require("../../contracts/viemAbis"));
42
+ const Abis = __importStar(require("../../contracts/abis/viemAbis"));
43
43
  const publicClient_1 = require("../publicClient");
44
- const viemAbis_1 = require("../../contracts/viemAbis");
44
+ const viemAbis_1 = require("../../contracts/abis/viemAbis");
45
45
  const addresses_1 = require("../../addresses");
46
46
  async function parseEvents(txHash) {
47
47
  const receipt = await publicClient_1.publicClient.waitForTransactionReceipt({ hash: txHash });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/entities/exchange/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,kCAMC;AAED,8BASC;AAED,gDAIC;AAED,0DAgBC;AAED,gDAmBC;AAtED,+BAAkG;AAClG,+DAAiD;AACjD,kDAA+C;AAE/C,uDAAsD;AAEtD,+CAAgE;AAEzD,KAAK,UAAU,WAAW,CAAC,MAAW;IAC3C,MAAM,OAAO,GAAG,MAAM,2BAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,OAAO;QACL,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAC,GAA+B;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAAW;IAClD,MAAM,OAAO,GAAG,MAAM,2BAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAA2B;IACvE,MAAM,QAAQ,GAAG,IAAA,yBAAkB,EAAC;QAClC,GAAG,EAAE,qBAAU;QACf,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE;YACJ,KAAK,CAAC,KAAK;YACX;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC;YACD,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,QAAQ;SACf;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,oBAA0C,EAC1C,GAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE;YACN;gBACE,KAAK,EAAE;oBACL;wBACE,EAAE,EAAE,IAAA,4BAAgB,EAAC,GAAG,CAAC;wBACzB,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/entities/exchange/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,kCAMC;AAED,8BASC;AAED,gDAIC;AAED,0DAgBC;AAED,gDAmBC;AAtED,+BAAkG;AAClG,oEAAsD;AACtD,kDAA+C;AAE/C,4DAA2D;AAE3D,+CAAgE;AAEzD,KAAK,UAAU,WAAW,CAAC,MAAW;IAC3C,MAAM,OAAO,GAAG,MAAM,2BAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,OAAO;QACL,GAAG,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAC,GAA+B;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAAW;IAClD,MAAM,OAAO,GAAG,MAAM,2BAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,KAA2B;IACvE,MAAM,QAAQ,GAAG,IAAA,yBAAkB,EAAC;QAClC,GAAG,EAAE,qBAAU;QACf,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE;YACJ,KAAK,CAAC,KAAK;YACX;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;gBACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC;YACD,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,QAAQ;SACf;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,oBAA0C,EAC1C,GAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE;YACN;gBACE,KAAK,EAAE;oBACL;wBACE,EAAE,EAAE,IAAA,4BAAgB,EAAC,GAAG,CAAC;wBACzB,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { GetContractReturnType, PublicClient } from 'viem';
2
2
  import { Environment } from '../addresses';
3
- import { iMarketHubAbi } from '../contracts/viemAbis';
3
+ import { iMarketHubAbi } from '../contracts/abis/viemAbis';
4
4
  export declare const getMarketHubContract: (env: Environment) => GetContractReturnType<typeof iMarketHubAbi, PublicClient>;
@@ -5,7 +5,7 @@ const viem_1 = require("viem");
5
5
  const chains_1 = require("viem/chains");
6
6
  const addresses_1 = require("../addresses");
7
7
  const common_1 = require("../common");
8
- const viemAbis_1 = require("../contracts/viemAbis");
8
+ const viemAbis_1 = require("../contracts/abis/viemAbis");
9
9
  const getMarketHubContract = (env) => (0, viem_1.getContract)({
10
10
  address: (0, addresses_1.getMarketHubAddress)(env),
11
11
  abi: viemAbis_1.iMarketHubAbi,
@@ -1 +1 @@
1
- {"version":3,"file":"marketHub.js","sourceRoot":"","sources":["../../src/entities/marketHub.ts"],"names":[],"mappings":";;;AAAA,+BAAkG;AAClG,wCAAmC;AACnC,4CAAgE;AAChE,sCAAoC;AACpC,oDAAsD;AAE/C,MAAM,oBAAoB,GAAG,CAAC,GAAgB,EAA6D,EAAE,CAAC,IAAA,kBAAW,EAAC;IAC/H,OAAO,EAAE,IAAA,+BAAmB,EAAC,GAAG,CAAC;IACjC,GAAG,EAAE,wBAAa;IAClB,MAAM,EAAE,IAAA,yBAAkB,EAAC;QACzB,KAAK,EAAE,aAAI;QACX,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;KACzB,CAAC;CACH,CAAC,CAAC;AAPU,QAAA,oBAAoB,wBAO9B"}
1
+ {"version":3,"file":"marketHub.js","sourceRoot":"","sources":["../../src/entities/marketHub.ts"],"names":[],"mappings":";;;AAAA,+BAAkG;AAClG,wCAAmC;AACnC,4CAAgE;AAChE,sCAAoC;AACpC,yDAA2D;AAEpD,MAAM,oBAAoB,GAAG,CAAC,GAAgB,EAA6D,EAAE,CAAC,IAAA,kBAAW,EAAC;IAC/H,OAAO,EAAE,IAAA,+BAAmB,EAAC,GAAG,CAAC;IACjC,GAAG,EAAE,wBAAa;IAClB,MAAM,EAAE,IAAA,yBAAkB,EAAC;QACzB,KAAK,EAAE,aAAI;QACX,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;KACzB,CAAC;CACH,CAAC,CAAC;AAPU,QAAA,oBAAoB,wBAO9B"}
@@ -1,2 +1,3 @@
1
1
  export declare const MULTI_TOKEN_MERKLE_DISTRIBUTOR_ADDRESS = "0x580bd289c25e7f254634e6ad8a95d631393c7172";
2
2
  export declare const MAKER_INCENTIVE_MERKLE_DISTRIBUTOR_ADDRESS = "0xAe94ccf0Cc9E6A783bc5ec3515f745bFaF68960A";
3
+ export declare const LP_REWARDS_MERKLE_DISTRIBUTOR_ADDRESS = "0x5fa1be763d5eb2cb4df90f557468421bd7f27fbf";
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAKER_INCENTIVE_MERKLE_DISTRIBUTOR_ADDRESS = exports.MULTI_TOKEN_MERKLE_DISTRIBUTOR_ADDRESS = void 0;
3
+ exports.LP_REWARDS_MERKLE_DISTRIBUTOR_ADDRESS = exports.MAKER_INCENTIVE_MERKLE_DISTRIBUTOR_ADDRESS = exports.MULTI_TOKEN_MERKLE_DISTRIBUTOR_ADDRESS = void 0;
4
4
  exports.MULTI_TOKEN_MERKLE_DISTRIBUTOR_ADDRESS = '0x580bd289c25e7f254634e6ad8a95d631393c7172';
5
5
  exports.MAKER_INCENTIVE_MERKLE_DISTRIBUTOR_ADDRESS = '0xAe94ccf0Cc9E6A783bc5ec3515f745bFaF68960A';
6
+ exports.LP_REWARDS_MERKLE_DISTRIBUTOR_ADDRESS = '0x5fa1be763d5eb2cb4df90f557468421bd7f27fbf';
6
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,0CAA0C,GAAG,4CAA4C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AACtF,QAAA,0CAA0C,GAAG,4CAA4C,CAAC;AAC1F,QAAA,qCAAqC,GAAG,4CAA4C,CAAC"}
@@ -2,3 +2,4 @@ export * from './constants';
2
2
  export * from './referralRewardsDistributor';
3
3
  export * from './multiTokenMerkleDistributorContract';
4
4
  export * from './makerIncentiveRewardsDistributor';
5
+ export * from './lpRewardsDistributor';
@@ -18,4 +18,5 @@ __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./referralRewardsDistributor"), exports);
19
19
  __exportStar(require("./multiTokenMerkleDistributorContract"), exports);
20
20
  __exportStar(require("./makerIncentiveRewardsDistributor"), exports);
21
+ __exportStar(require("./lpRewardsDistributor"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+DAA6C;AAC7C,wEAAsD;AACtD,qEAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+DAA6C;AAC7C,wEAAsD;AACtD,qEAAmD;AACnD,yDAAuC"}
@@ -0,0 +1,13 @@
1
+ import { Address } from 'viem';
2
+ import { RewardDistributor } from './RewardDistributor';
3
+ import { Environment } from '../../addresses';
4
+ export declare class LpRewardsDistributor extends RewardDistributor {
5
+ private borosCoreSdk;
6
+ constructor(env: Environment);
7
+ getMerkleByUser(user: Address): Promise<{
8
+ tokens: Address[];
9
+ accruedAmounts: bigint[];
10
+ proofs: string[][];
11
+ }>;
12
+ }
13
+ export default LpRewardsDistributor;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LpRewardsDistributor = void 0;
4
+ const backend_1 = require("../../backend");
5
+ const RewardDistributor_1 = require("./RewardDistributor");
6
+ const constants_1 = require("./constants");
7
+ class LpRewardsDistributor extends RewardDistributor_1.RewardDistributor {
8
+ borosCoreSdk;
9
+ constructor(env) {
10
+ super(constants_1.LP_REWARDS_MERKLE_DISTRIBUTOR_ADDRESS);
11
+ this.borosCoreSdk = backend_1.BorosBackend.getCoreSdk(env);
12
+ }
13
+ async getMerkleByUser(user) {
14
+ const resp = await this.borosCoreSdk.merkels.merklesControllerGetMerkleByUserAndCampaign('amm_lp_rewards', user);
15
+ const { tokens, accruedAmounts, proofs } = resp.data;
16
+ return {
17
+ tokens: tokens.map((token) => token),
18
+ accruedAmounts: accruedAmounts.map((amount) => BigInt(amount)),
19
+ proofs,
20
+ };
21
+ }
22
+ }
23
+ exports.LpRewardsDistributor = LpRewardsDistributor;
24
+ exports.default = LpRewardsDistributor;
25
+ //# sourceMappingURL=lpRewardsDistributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpRewardsDistributor.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/lpRewardsDistributor.ts"],"names":[],"mappings":";;;AACA,2CAA6C;AAC7C,2DAAwD;AACxD,2CAAgH;AAGhH,MAAa,oBAAqB,SAAQ,qCAAiB;IACjD,YAAY,CAA4B;IAChD,YAAY,GAAgB;QAC1B,KAAK,CAAC,iDAAqC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,sBAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAa;QAKjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,2CAA2C,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACjH,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAgB,CAAC;YAC/C,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AApBD,oDAoBC;AAED,kBAAe,oBAAoB,CAAC"}
@@ -4,7 +4,7 @@ exports.MultiTokenMerkleDistributorContract = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const chains_1 = require("viem/chains");
6
6
  const common_1 = require("../../common");
7
- const multiTokenMerkleDistributorAbi_1 = require("../../contracts/multiTokenMerkleDistributorAbi");
7
+ const multiTokenMerkleDistributorAbi_1 = require("../../contracts/abis/multiTokenMerkleDistributorAbi");
8
8
  class MultiTokenMerkleDistributorContract {
9
9
  distributorContract;
10
10
  contractAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"multiTokenMerkleDistributorContract.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/multiTokenMerkleDistributorContract.ts"],"names":[],"mappings":";;;AAAA,+BAAqG;AAErG,wCAAuC;AACvC,yCAAuC;AACvC,mGAAgG;AAEhG,MAAa,mCAAmC;IACpC,mBAAmB,CAAC;IACpB,eAAe,CAAU;IACjC,YAAY,eAAwB;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,IAAA,kBAAW,EAAC;YACnC,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,+DAA8B;YACnC,MAAM,EAAE,IAAA,yBAAkB,EAAC;gBACvB,KAAK,EAAE,iBAAQ;gBACf,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;aAC3B,CAAC;SACL,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CACP,QAAiB,EACjB,MAAiB,EACjB,aAAuB,EACvB,MAAkB;QAElB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;YAC5B,GAAG,EAAE,+DAA8B;YACnC,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/D,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAA;QAEF,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,CAAC,eAAe;YACxB,IAAI;YACJ,GAAG;SACN,CAAA;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpE,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5CD,kFA4CC"}
1
+ {"version":3,"file":"multiTokenMerkleDistributorContract.js","sourceRoot":"","sources":["../../../src/entities/multiTokenMerkleDistributor/multiTokenMerkleDistributorContract.ts"],"names":[],"mappings":";;;AAAA,+BAAqG;AAErG,wCAAuC;AACvC,yCAAuC;AACvC,wGAAqG;AAErG,MAAa,mCAAmC;IACpC,mBAAmB,CAAC;IACpB,eAAe,CAAU;IACjC,YAAY,eAAwB;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,IAAA,kBAAW,EAAC;YACnC,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,+DAA8B;YACnC,MAAM,EAAE,IAAA,yBAAkB,EAAC;gBACvB,KAAK,EAAE,iBAAQ;gBACf,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;aAC3B,CAAC;SACL,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CACP,QAAiB,EACjB,MAAiB,EACjB,aAAuB,EACvB,MAAkB;QAElB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;YAC5B,GAAG,EAAE,+DAA8B;YACnC,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/D,OAAO,EAAE,QAAQ;SACpB,CAAC,CAAA;QAEF,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI,CAAC,eAAe;YACxB,IAAI;YACJ,GAAG;SACN,CAAA;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpE,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5CD,kFA4CC"}
@@ -5,7 +5,7 @@ const chains_1 = require("viem/chains");
5
5
  const common_1 = require("../common");
6
6
  const viem_1 = require("viem");
7
7
  exports.publicClient = (0, viem_1.createPublicClient)({
8
- chain: chains_1.base,
8
+ chain: chains_1.arbitrum,
9
9
  transport: (0, viem_1.http)(common_1.RPC_URL),
10
10
  });
11
11
  //# sourceMappingURL=publicClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../src/entities/publicClient.ts"],"names":[],"mappings":";;;AAAA,wCAAmC;AACnC,sCAAoC;AACpC,+BAA8D;AAEjD,QAAA,YAAY,GAAG,IAAA,yBAAkB,EAAC;IAC7C,KAAK,EAAE,aAAI;IACX,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;CACzB,CAAiB,CAAC"}
1
+ {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../src/entities/publicClient.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AACvC,sCAAoC;AACpC,+BAA8D;AAEjD,QAAA,YAAY,GAAG,IAAA,yBAAkB,EAAC;IAC7C,KAAK,EAAE,iBAAQ;IACf,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;CACzB,CAAiB,CAAC"}
@@ -0,0 +1,27 @@
1
+ export declare const MAX_LOCK_DURATION_SECONDS: number;
2
+ export declare const DAYS_IN_A_WEEK = 7;
3
+ export declare const DAYS_IN_A_YEAR = 365;
4
+ export declare const HOURS_IN_A_DAY = 24;
5
+ export declare const SECONDS_PER_FIVE_MINUTES = 300;
6
+ export declare const SECONDS_PER_MINUTE = 60;
7
+ export declare const SECONDS_PER_HOUR = 3600;
8
+ export declare const SECONDS_PER_DAY: number;
9
+ export declare const SECONDS_PER_WEEK: number;
10
+ export declare const SECONDS_PER_YEAR: number;
11
+ export declare const MILLISECONDS_PER_SECOND = 1000;
12
+ export declare const MILLISECONDS_PER_YEAR: number;
13
+ export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
14
+ export declare const ONE_ADDRESS = "0x0000000000000000000000000000000000000001";
15
+ export declare const PENDLE_DECIMALS = 18;
16
+ export declare const VEPENDLE_DECIMALS = 18;
17
+ export declare const INTEREST_FEE_RATE = 0.03;
18
+ export declare const ONE_E18: string;
19
+ export declare const MILLISECONDS_IN_A_SECOND = 1000;
20
+ export declare const ONE_HUNDRED = 100;
21
+ export declare const MILLISECONDS_IN_A_WEEK: number;
22
+ export declare const MILLISECONDS_IN_A_MINUTE: number;
23
+ export declare const MILLISECONDS_IN_AN_HOUR: number;
24
+ export declare const MILLISECONDS_IN_A_DAY: number;
25
+ export declare const MAX_UINT256: bigint;
26
+ export declare const AVERAGE_BLOCK_TIME_IN_SECONDS = 0.25;
27
+ export declare const MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MULTICALL_ADDRESS = exports.AVERAGE_BLOCK_TIME_IN_SECONDS = exports.MAX_UINT256 = exports.MILLISECONDS_IN_A_DAY = exports.MILLISECONDS_IN_AN_HOUR = exports.MILLISECONDS_IN_A_MINUTE = exports.MILLISECONDS_IN_A_WEEK = exports.ONE_HUNDRED = exports.MILLISECONDS_IN_A_SECOND = exports.ONE_E18 = exports.INTEREST_FEE_RATE = exports.VEPENDLE_DECIMALS = exports.PENDLE_DECIMALS = exports.ONE_ADDRESS = exports.ZERO_ADDRESS = exports.MILLISECONDS_PER_YEAR = exports.MILLISECONDS_PER_SECOND = exports.SECONDS_PER_YEAR = exports.SECONDS_PER_WEEK = exports.SECONDS_PER_DAY = exports.SECONDS_PER_HOUR = exports.SECONDS_PER_MINUTE = exports.SECONDS_PER_FIVE_MINUTES = exports.HOURS_IN_A_DAY = exports.DAYS_IN_A_YEAR = exports.DAYS_IN_A_WEEK = exports.MAX_LOCK_DURATION_SECONDS = void 0;
4
+ exports.MAX_LOCK_DURATION_SECONDS = 104 * 7 * 24 * 60 * 60;
5
+ exports.DAYS_IN_A_WEEK = 7;
6
+ exports.DAYS_IN_A_YEAR = 365;
7
+ exports.HOURS_IN_A_DAY = 24;
8
+ exports.SECONDS_PER_FIVE_MINUTES = 300;
9
+ exports.SECONDS_PER_MINUTE = 60;
10
+ exports.SECONDS_PER_HOUR = 3600;
11
+ exports.SECONDS_PER_DAY = 3600 * 24;
12
+ exports.SECONDS_PER_WEEK = exports.SECONDS_PER_DAY * 7;
13
+ exports.SECONDS_PER_YEAR = exports.SECONDS_PER_DAY * 365;
14
+ exports.MILLISECONDS_PER_SECOND = 1000;
15
+ exports.MILLISECONDS_PER_YEAR = exports.SECONDS_PER_YEAR * exports.MILLISECONDS_PER_SECOND;
16
+ exports.ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
17
+ exports.ONE_ADDRESS = '0x0000000000000000000000000000000000000001';
18
+ exports.PENDLE_DECIMALS = 18;
19
+ exports.VEPENDLE_DECIMALS = exports.PENDLE_DECIMALS;
20
+ exports.INTEREST_FEE_RATE = 0.03;
21
+ exports.ONE_E18 = `1${'0'.repeat(18)}`;
22
+ exports.MILLISECONDS_IN_A_SECOND = 1000;
23
+ exports.ONE_HUNDRED = 100;
24
+ exports.MILLISECONDS_IN_A_WEEK = exports.SECONDS_PER_WEEK * exports.MILLISECONDS_IN_A_SECOND;
25
+ exports.MILLISECONDS_IN_A_MINUTE = exports.SECONDS_PER_MINUTE * exports.MILLISECONDS_IN_A_SECOND;
26
+ exports.MILLISECONDS_IN_AN_HOUR = exports.SECONDS_PER_HOUR * exports.MILLISECONDS_IN_A_SECOND;
27
+ exports.MILLISECONDS_IN_A_DAY = exports.SECONDS_PER_DAY * exports.MILLISECONDS_IN_A_SECOND;
28
+ exports.MAX_UINT256 = BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff');
29
+ exports.AVERAGE_BLOCK_TIME_IN_SECONDS = 0.25;
30
+ exports.MULTICALL_ADDRESS = '0xcA11bde05977b3631167028862bE2a173976CA11';
31
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/multicall/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,yBAAyB,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnD,QAAA,cAAc,GAAG,CAAC,CAAC;AAEnB,QAAA,cAAc,GAAG,GAAG,CAAC;AAErB,QAAA,cAAc,GAAG,EAAE,CAAC;AAEpB,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAE/B,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAExB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AAExB,QAAA,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAE5B,QAAA,gBAAgB,GAAG,uBAAe,GAAG,CAAC,CAAC;AAEvC,QAAA,gBAAgB,GAAG,uBAAe,GAAG,GAAG,CAAC;AAEzC,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE/B,QAAA,qBAAqB,GAAG,wBAAgB,GAAG,+BAAuB,CAAC;AAEnE,QAAA,YAAY,GAAG,4CAA4C,CAAC;AAC5D,QAAA,WAAW,GAAG,4CAA4C,CAAC;AAE3D,QAAA,eAAe,GAAG,EAAE,CAAC;AAErB,QAAA,iBAAiB,GAAG,uBAAe,CAAC;AAEpC,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEzB,QAAA,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AAE/B,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAEhC,QAAA,WAAW,GAAG,GAAG,CAAC;AAElB,QAAA,sBAAsB,GAAG,wBAAgB,GAAG,gCAAwB,CAAC;AAErE,QAAA,wBAAwB,GAAG,0BAAkB,GAAG,gCAAwB,CAAC;AAEzE,QAAA,uBAAuB,GAAG,wBAAgB,GAAG,gCAAwB,CAAC;AAEtE,QAAA,qBAAqB,GAAG,uBAAe,GAAG,gCAAwB,CAAC;AAEnE,QAAA,WAAW,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AAE3F,QAAA,6BAA6B,GAAG,IAAI,CAAC;AAErC,QAAA,iBAAiB,GAAG,4CAA4C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Contract } from '../common/types';
2
+ import { Abi, AbiFunction, ContractFunctionName } from 'viem';
3
+ export type Iterableify<T> = {
4
+ [K in keyof T]: Iterable<T[K]>;
5
+ };
6
+ export declare function zip<T extends unknown[]>(...toZip: Iterableify<T>): Generator<T>;
7
+ export declare function getAbiFunction(abi: Abi, functionName: string): AbiFunction;
8
+ export declare function getFunctionNamesFromAbi(abi: Abi, functionType: 'read' | 'simulate'): string[];
9
+ export declare function getFunctionFromContract<C extends Contract<Abi>>(contract: C, functionType: 'read' | 'simulate', functionName: ContractFunctionName<Abi>): (<chainOverride extends import("viem").Chain | undefined = undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(...parameters: [options?: Omit<import("viem").SimulateContractParameters<Abi, string, readonly unknown[], import("viem").Chain | undefined, chainOverride, accountOverride>, "address" | "abi" | "args" | "functionName"> | undefined] | [args: readonly unknown[], options?: Omit<import("viem").SimulateContractParameters<Abi, string, readonly unknown[], import("viem").Chain | undefined, chainOverride, accountOverride>, "address" | "abi" | "args" | "functionName"> | undefined]) => Promise<import("viem").SimulateContractReturnType>) | ((...parameters: [options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<Abi, string, readonly unknown[]>, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<Abi, string, readonly unknown[]>, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise<import("viem").ReadContractReturnType>);
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zip = zip;
4
+ exports.getAbiFunction = getAbiFunction;
5
+ exports.getFunctionNamesFromAbi = getFunctionNamesFromAbi;
6
+ exports.getFunctionFromContract = getFunctionFromContract;
7
+ function* zip(...toZip) {
8
+ const iterators = toZip.map((i) => i[Symbol.iterator]());
9
+ while (true) {
10
+ const results = iterators.map((i) => i.next());
11
+ if (results.some(({ done }) => done)) {
12
+ break;
13
+ }
14
+ yield results.map(({ value }) => value);
15
+ }
16
+ }
17
+ function getAbiFunction(abi, functionName) {
18
+ return abi.find((f) => {
19
+ if (f.type == 'function' && f.name == functionName) {
20
+ return f;
21
+ }
22
+ });
23
+ }
24
+ function getFunctionNamesFromAbi(abi, functionType) {
25
+ const stateMutabilities = {
26
+ read: ['view', 'pure'],
27
+ simulate: ['nonpayable', 'payable'],
28
+ };
29
+ return abi.flatMap((f) => {
30
+ if (f.type === 'function' && stateMutabilities[functionType].includes(f.stateMutability)) {
31
+ return [f.name];
32
+ }
33
+ return [];
34
+ });
35
+ }
36
+ function getFunctionFromContract(contract, functionType, functionName) {
37
+ const func = contract[functionType][functionName];
38
+ return func;
39
+ }
40
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/multicall/helpers.ts"],"names":[],"mappings":";;AAKA,kBASC;AAED,wCAMC;AAED,0DAWC;AAED,0DAOC;AAvCD,QAAe,CAAC,CAAC,GAAG,CAAsB,GAAG,KAAqB;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzD,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM;QACR,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAM,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAQ,EAAE,YAAoB;IAC3D,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACnD,OAAO,CAAgB,CAAC;QAC1B,CAAC;IACH,CAAC,CAAgB,CAAC;AACpB,CAAC;AAED,SAAgB,uBAAuB,CAAC,GAAQ,EAAE,YAAiC;IACjF,MAAM,iBAAiB,GAAG;QACxB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;KACpC,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;YACzF,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CACrC,QAAW,EACX,YAAiC,EACjC,YAAuC;IAEvC,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { iMulticall3Abi } from '../contracts/abis/viemAbis';
2
+ import { Abi, AbiFunction, AbiStateMutability, Address, BlockNumber, BlockTag, ContractFunctionArgs, ContractFunctionName, ContractFunctionReturnType, GetContractReturnType, PublicClient } from 'viem';
3
+ import { Contract, ExtractAbiFunction } from '../common/types';
4
+ export declare const DEFAULT_CALL_LIMIT = 256;
5
+ export type BlockTagMulticall = BlockTag | BlockNumber;
6
+ export type MulticallOptions = {
7
+ blockTag?: BlockTag;
8
+ blockNumber?: BlockNumber;
9
+ disableMulticall?: boolean;
10
+ account?: Address;
11
+ };
12
+ export type OverrideMulticallFunction<abi extends Abi, functionName extends ContractFunctionName<abi, AbiStateMutability> = ContractFunctionName<abi, AbiStateMutability>, abiFunction extends AbiFunction = ExtractAbiFunction<abi, functionName>, mutability extends AbiStateMutability = abiFunction['stateMutability'], args = ContractFunctionArgs<abi, AbiStateMutability, functionName>> = args extends readonly [] ? (multicallOptions?: MulticallOptions) => Promise<ContractFunctionReturnType<abi, mutability, functionName>> : args extends readonly any[] ? (...args: [...args, MulticallOptions | undefined]) => Promise<ContractFunctionReturnType<abi, mutability, functionName>> : (...args: [args, MulticallOptions | undefined]) => Promise<ContractFunctionReturnType<abi, mutability, functionName>>;
13
+ export type MulticallSimulate<abi extends Abi, T extends Contract<abi> = Contract<abi>> = T extends {
14
+ simulate: object;
15
+ } ? {
16
+ [K in keyof T['simulate']]: K extends ContractFunctionName<abi, 'nonpayable' | 'payable'> ? OverrideMulticallFunction<abi, K> : T['simulate'][K];
17
+ } : {};
18
+ export type MulticallRead<abi extends Abi, T extends Contract<abi> = Contract<abi>> = T extends {
19
+ read: object;
20
+ } ? {
21
+ [K in keyof T['read']]: K extends ContractFunctionName<abi, 'view' | 'pure'> ? OverrideMulticallFunction<abi, K> : T['read'][K];
22
+ } : {};
23
+ export type MulticallFuncs<abi extends Abi> = {
24
+ read: MulticallRead<abi>;
25
+ simulate: MulticallSimulate<abi>;
26
+ };
27
+ export declare class MulticallRPCError extends Error {
28
+ constructor(error: any, opts?: {
29
+ nCall?: number;
30
+ block?: string;
31
+ });
32
+ static getViemErrorMessage(error: any): string;
33
+ }
34
+ export declare class ContractCall {
35
+ abi: Abi;
36
+ functionName: string;
37
+ address: Address;
38
+ params: unknown[];
39
+ constructor({ abi, address, functionName, params, }: {
40
+ abi: Abi;
41
+ address: Address;
42
+ functionName: string;
43
+ params: unknown[];
44
+ });
45
+ }
46
+ type Multicall3 = GetContractReturnType<typeof iMulticall3Abi, PublicClient, Address>;
47
+ export declare class Multicall {
48
+ static isMulticallOptions(options?: any): options is MulticallOptions | undefined;
49
+ multicallContract: Multicall3;
50
+ readonly batchMap: Map<BlockTagMulticall, MulticallBatch>;
51
+ readonly callLimit: number;
52
+ private multicallCache;
53
+ private disableMulticall;
54
+ constructor({ address, client, callLimit, }: {
55
+ address: Address;
56
+ client: PublicClient;
57
+ callLimit?: number;
58
+ });
59
+ private monitor;
60
+ doAggregateCalls(calls: readonly ContractCall[], blockTagMulticall: BlockTagMulticall): Promise<any[]>;
61
+ wrapFunctions<abi extends Abi, T extends Contract<abi> = Contract<abi>>(contract: T, functionType: 'read' | 'simulate'): Record<string, any> | undefined;
62
+ wrap<abi extends Abi, T extends Contract<abi> = Contract<abi>>(contract: T): MulticallFuncs<abi>;
63
+ }
64
+ declare class MulticallBatch {
65
+ private readonly multicallInstance;
66
+ readonly blockTagMulticall: BlockTagMulticall;
67
+ readonly pendingContractCalls: ContractCall[];
68
+ readonly promise: Promise<any[]>;
69
+ constructor(multicallInstance: Multicall, blockTagMulticall?: BlockTagMulticall);
70
+ }
71
+ export {};