@stake-dao/reader 0.4.64 → 0.4.65

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 (42) hide show
  1. package/dist/esm/abis/lockersMulticall.js +55 -18
  2. package/dist/esm/abis/lockersMulticall.js.map +1 -1
  3. package/dist/esm/lockers/fetch/index.js +9 -6
  4. package/dist/esm/lockers/fetch/index.js.map +1 -1
  5. package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js +1 -0
  6. package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js.map +1 -1
  7. package/dist/esm/lockers/utils/callsForLockers/feeCalls.js +8 -2
  8. package/dist/esm/lockers/utils/callsForLockers/feeCalls.js.map +1 -1
  9. package/dist/esm/lockers/utils/callsForLockers/gaugeCalls.js +4 -1
  10. package/dist/esm/lockers/utils/callsForLockers/gaugeCalls.js.map +1 -1
  11. package/dist/esm/lockers/utils/callsForLockers/index.js +2 -2
  12. package/dist/esm/lockers/utils/callsForLockers/index.js.map +1 -1
  13. package/dist/esm/lockers/utils/callsForLockers/veCalls.js +3 -2
  14. package/dist/esm/lockers/utils/callsForLockers/veCalls.js.map +1 -1
  15. package/dist/esm/lockers/utils/index.js +6 -0
  16. package/dist/esm/lockers/utils/index.js.map +1 -1
  17. package/dist/esm/prices.js +2 -0
  18. package/dist/esm/prices.js.map +1 -1
  19. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  20. package/dist/types/abis/lockersMulticall.d.ts +11 -3
  21. package/dist/types/abis/lockersMulticall.d.ts.map +1 -1
  22. package/dist/types/lockers/fetch/index.d.ts +1 -0
  23. package/dist/types/lockers/fetch/index.d.ts.map +1 -1
  24. package/dist/types/lockers/utils/callsForLockers/depositorCalls.d.ts.map +1 -1
  25. package/dist/types/lockers/utils/callsForLockers/feeCalls.d.ts.map +1 -1
  26. package/dist/types/lockers/utils/callsForLockers/gaugeCalls.d.ts.map +1 -1
  27. package/dist/types/lockers/utils/callsForLockers/index.d.ts +1 -1
  28. package/dist/types/lockers/utils/callsForLockers/index.d.ts.map +1 -1
  29. package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts +1 -1
  30. package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts.map +1 -1
  31. package/dist/types/lockers/utils/index.d.ts.map +1 -1
  32. package/dist/types/prices.d.ts.map +1 -1
  33. package/package.json +2 -2
  34. package/src/abis/lockersMulticall.ts +53 -16
  35. package/src/lockers/fetch/index.ts +9 -5
  36. package/src/lockers/utils/callsForLockers/depositorCalls.ts +1 -0
  37. package/src/lockers/utils/callsForLockers/feeCalls.ts +8 -2
  38. package/src/lockers/utils/callsForLockers/gaugeCalls.ts +5 -1
  39. package/src/lockers/utils/callsForLockers/index.ts +2 -1
  40. package/src/lockers/utils/callsForLockers/veCalls.ts +3 -2
  41. package/src/lockers/utils/index.ts +6 -0
  42. package/src/prices.ts +2 -0
@@ -1,9 +1,17 @@
1
- declare const lockersMulticallAbi: ({
1
+ declare const lockersMulticallAbi: (chainId?: number) => ({
2
2
  name: string;
3
- outputs: {
3
+ outputs: ({
4
4
  type: string;
5
5
  name: string;
6
- }[];
6
+ components?: undefined;
7
+ } | {
8
+ components: {
9
+ type: string;
10
+ name: string;
11
+ }[];
12
+ name: string;
13
+ type: string;
14
+ })[];
7
15
  inputs: {
8
16
  type: string;
9
17
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2UxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgXxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -91,6 +91,7 @@ export declare const fetchLockers: ({ provider, chainId, prices, withAirdropGrap
91
91
  gauge: import("@stake-dao/constants").Address;
92
92
  accumulator: import("@stake-dao/constants").Address;
93
93
  redeem?: import("@stake-dao/constants").Address;
94
+ veNFT?: import("@stake-dao/constants").Address;
94
95
  };
95
96
  secondaryMarket?: import("@stake-dao/constants").LockerSecondaryMarket;
96
97
  veBoost?: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAK5C,OAA6B,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAuB5F,UAAU,aAAa;IACrB,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,eAAO,MAAM,YAAY,oDAA2D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6RhG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAK5C,OAA6B,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAuB5F,UAAU,aAAa;IACrB,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,eAAO,MAAM,YAAY,oDAA2D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiShG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"depositorCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/depositorCalls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,QAAA,MAAM,cAAc,cAAe,MAAM,UAAU,OAAO,UAsBzD,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"depositorCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/depositorCalls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,QAAA,MAAM,cAAc,cAAe,MAAM,UAAU,OAAO,UAuBzD,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA4B,MAAM,MAAM,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,OAAO,WA8BrE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EAwEnE,CAAA"}
1
+ {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA4B,MAAM,MAAM,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,OAAO,WA8BrE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EA8EnE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"gaugeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/gaugeCalls.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,UAAW,MAAM;;;GAGhC,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"gaugeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/gaugeCalls.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,UAAW,MAAM;;;GAKhC,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -3,6 +3,6 @@ import type { Address } from 'viem';
3
3
  declare const callsForLockers: (lockerId: string, token: string, sdToken: string, votingEscrow: string, depositor: string, gauge: string, locker: string, secondaryMarket: LockerSecondaryMarket | undefined, voteBooster: any, veBoost?: {
4
4
  address: Address;
5
5
  delegator: Address;
6
- }) => any[];
6
+ }, veNFT?: Address) => any[];
7
7
  export default callsForLockers;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAY,MAAM,sBAAsB,CAAA;AAEtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,QAAA,MAAM,eAAe,aACT,MAAM,SACT,MAAM,WACJ,MAAM,gBACD,MAAM,aACT,MAAM,SACV,MAAM,UACL,MAAM,mBACG,qBAAqB,GAAG,SAAS,eACrC,GAAG,YACN;IACR,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;CACnB,UAmBF,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAY,MAAM,sBAAsB,CAAA;AAEtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,QAAA,MAAM,eAAe,aACT,MAAM,SACT,MAAM,WACJ,MAAM,gBACD,MAAM,aACT,MAAM,SACV,MAAM,UACL,MAAM,mBACG,qBAAqB,GAAG,SAAS,eACrC,GAAG,YACN;IACR,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;CACnB,UACO,OAAO,UAmBhB,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { Address } from 'viem';
2
- declare const veCalls: (lockerId: string, votingEscrow: string, locker: Address, token: string) => any[];
2
+ declare const veCalls: (lockerId: string, votingEscrow: string, locker: Address, token: string, veNFT?: Address) => any[];
3
3
  export default veCalls;
4
4
  //# sourceMappingURL=veCalls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"veCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/veCalls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,QAAA,MAAM,OAAO,aAAc,MAAM,gBAAgB,MAAM,UAAU,OAAO,SAAS,MAAM,UAwBtF,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"veCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/veCalls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,QAAA,MAAM,OAAO,aAAc,MAAM,gBAAgB,MAAM,UAAU,OAAO,SAAS,MAAM,UAAU,OAAO,UAyBvG,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/index.ts"],"names":[],"mappings":"AAIA,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAkHD,eAAO,MAAM,gBAAgB,aAAc,MAAM,QAAQ,IAAI,SAAS,MAAM,oBAAmB,MAAM;;;;;;CAiBpG,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAc,MAAM,gBAAgB,MAAM,UAAU,MAAM;;;;CAiCtF,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,MAAM,gBAAgB,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;CAiBhH,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/index.ts"],"names":[],"mappings":"AAIA,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAkHD,eAAO,MAAM,gBAAgB,aAAc,MAAM,QAAQ,IAAI,SAAS,MAAM,oBAAmB,MAAM;;;;;;CAiBpG,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAc,MAAM,gBAAgB,MAAM,UAAU,MAAM;;;;CAuCtF,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,MAAM,gBAAgB,MAAM,UAAU,MAAM,WAAW,MAAM;;;;;CAiBhH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAkB,MAiBjD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAqB7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,2BAA2B,wBAAkB,MAiBzD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAC7B,GAAG,EAAE,wCAEO,GAAG,KACtB,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAmBpF,CAAA;AAED,eAAO,MAAM,WAAW,eAAsB,KAAK,EAAE,UAAU,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAO3G,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,KAAK,EAAE,gBAAgB,MAAM,KAAG,MAEjE,CAAA"}
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAkB,MAmBjD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAqB7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,2BAA2B,wBAAkB,MAiBzD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAC7B,GAAG,EAAE,wCAEO,GAAG,KACtB,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAmBpF,CAAA;AAED,eAAO,MAAM,WAAW,eAAsB,KAAK,EAAE,UAAU,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAO3G,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,KAAK,EAAE,gBAAgB,MAAM,KAAG,MAEjE,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.4.64",
4
+ "version": "0.4.65",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "graphql-request": "^6.0.0",
36
36
  "lodash-es": "^4.17.21",
37
37
  "viem": "^2.21.53",
38
- "@stake-dao/constants": "0.4.30"
38
+ "@stake-dao/constants": "0.4.31"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/lodash-es": "^4.17.12",
@@ -1,4 +1,4 @@
1
- const lockersMulticallAbi = [
1
+ const lockersMulticallAbi = (chainId = 1) => [
2
2
  {
3
3
  inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
4
4
  name: 'balanceOf',
@@ -23,6 +23,25 @@ const lockersMulticallAbi = [
23
23
  stateMutability: 'view',
24
24
  type: 'function',
25
25
  },
26
+ {
27
+ name: 'getLockedNftDetails',
28
+ outputs: [
29
+ { type: 'uint256[]', name: 'nfts' },
30
+ {
31
+ components: [
32
+ { type: 'uint256', name: 'amount' },
33
+ { type: 'uint256', name: 'end' },
34
+ { type: 'uint256', name: 'start' },
35
+ { type: 'uint256', name: 'power' },
36
+ ],
37
+ name: 'nftsDetails',
38
+ type: 'tuple[]',
39
+ },
40
+ ],
41
+ inputs: [{ type: 'address', name: '_user' }],
42
+ stateMutability: 'view',
43
+ type: 'function',
44
+ },
26
45
  {
27
46
  inputs: [{ internalType: 'address', name: '', type: 'address' }],
28
47
  name: 'locks',
@@ -302,23 +321,41 @@ const lockersMulticallAbi = [
302
321
  stateMutability: 'view',
303
322
  type: 'function',
304
323
  },
305
- {
306
- inputs: [],
307
- name: 'getFeeSplit',
308
- outputs: [
309
- {
310
- components: [
311
- { internalType: 'address[]', name: 'receivers', type: 'address[]' },
312
- { internalType: 'uint256[]', name: 'fees', type: 'uint256[]' },
324
+ chainId === 59144
325
+ ? {
326
+ inputs: [],
327
+ name: 'getFeeSplit',
328
+ outputs: [
329
+ {
330
+ components: [
331
+ { internalType: 'address', name: 'receiver', type: 'address' },
332
+ { internalType: 'uint96', name: 'fee', type: 'uint96' },
333
+ ],
334
+ internalType: 'struct BaseAccumulator.Split[]',
335
+ name: '',
336
+ type: 'tuple[]',
337
+ },
313
338
  ],
314
- internalType: 'struct AccumulatorV2.Split',
315
- name: '',
316
- type: 'tuple',
339
+ stateMutability: 'view',
340
+ type: 'function',
341
+ }
342
+ : {
343
+ inputs: [],
344
+ name: 'getFeeSplit',
345
+ outputs: [
346
+ {
347
+ components: [
348
+ { internalType: 'address[]', name: 'receivers', type: 'address[]' },
349
+ { internalType: 'uint256[]', name: 'fees', type: 'uint256[]' },
350
+ ],
351
+ internalType: 'struct AccumulatorV2.Split',
352
+ name: '',
353
+ type: 'tuple',
354
+ },
355
+ ],
356
+ stateMutability: 'view',
357
+ type: 'function',
317
358
  },
318
- ],
319
- stateMutability: 'view',
320
- type: 'function',
321
- },
322
359
  {
323
360
  inputs: [
324
361
  { internalType: 'address', name: '', type: 'address' },
@@ -61,6 +61,7 @@ export const fetchLockers = async ({ provider, chainId, prices, withAirdropGraph
61
61
  locker.secondaryMarket,
62
62
  locker.voteBooster,
63
63
  locker.veBoost,
64
+ locker.modules.veNFT,
64
65
  ),
65
66
  )
66
67
  lockersRewardsCalls.push(...callsForRewards(locker.modules.gauge, locker.rewards))
@@ -75,8 +76,8 @@ export const fetchLockers = async ({ provider, chainId, prices, withAirdropGraph
75
76
 
76
77
  const [rawLockersData, rawLockersSideChainData, rawLockersRewardsData, rawVeSdtTotalSupply] = await handlePromise(
77
78
  [
78
- multicall(provider, lockersCalls.concat(lockersFeeCalls), lockersMulticallAbi),
79
- multichainMulticall(lockersSideChainsCalls, lockersMulticallAbi),
79
+ multicall(provider, lockersCalls.concat(lockersFeeCalls), lockersMulticallAbi(chainId)),
80
+ multichainMulticall(lockersSideChainsCalls, lockersMulticallAbi()),
80
81
  multicall(
81
82
  provider,
82
83
  lockersRewardsCalls,
@@ -106,6 +107,7 @@ export const fetchLockers = async ({ provider, chainId, prices, withAirdropGraph
106
107
  locker.secondaryMarket,
107
108
  locker.voteBooster,
108
109
  locker.veBoost,
110
+ locker.modules.veNFT,
109
111
  ).length
110
112
  const chunkedRawLockersData = rawLockersData.splice(0, lockerCallsLength)
111
113
 
@@ -118,7 +120,11 @@ export const fetchLockers = async ({ provider, chainId, prices, withAirdropGraph
118
120
  const fees = getFees(locker, lockerFee)
119
121
 
120
122
  const tokenLocked = formatUnits(
121
- chunkedRawLockersData[0].result[0] ? chunkedRawLockersData[0].result[0] : chunkedRawLockersData[0].result,
123
+ chunkedRawLockersData[0].result[1]?.[0]
124
+ ? chunkedRawLockersData[0].result[1][0].amount
125
+ : chunkedRawLockersData[0].result[0]
126
+ ? chunkedRawLockersData[0].result[0]
127
+ : chunkedRawLockersData[0].result,
122
128
  locker.token.decimals,
123
129
  )
124
130
  const veBalanceOfLocker = formatUnits(chunkedRawLockersData[1].result, locker.token.decimals)
@@ -137,8 +143,6 @@ export const fetchLockers = async ({ provider, chainId, prices, withAirdropGraph
137
143
  ? formatUnits(chunkedRawLockersData[7].result, locker.token.decimals)
138
144
  : '0'
139
145
  const amountTokenNotLock = formatUnits(chunkedRawLockersData[8].result, locker.token.decimals)
140
- // const veSdtTotalSupply = chainId === mainnet.id ? chunkedRawLockersData[9].result : '0'
141
-
142
146
  const voteBooster = parseVoteBoosterData(locker, chunkedRawLockersData)
143
147
  const peg = parsePeg(locker, chunkedRawLockersData)
144
148
 
@@ -13,6 +13,7 @@ const depositorCalls = (depositor: string, locker: Address) => {
13
13
  lockerWithId('fxn')!.modules.locker,
14
14
  lockerWithId('yfi')!.modules.locker,
15
15
  lockerWithId('pendle')!.modules.locker,
16
+ lockerWithId('zero', 59144)!.modules.locker,
16
17
  ].includes(locker)
17
18
  ) {
18
19
  calls.push({ address: depositor, name: 'lockIncentivePercent' })
@@ -90,10 +90,16 @@ export const extractFees = (lockers: any, feesData: any): ILockerFee[] => {
90
90
  liquidityFee = formatUnits(fxsFees.fees[1]!, 2)
91
91
  break
92
92
  }
93
+ case 'zero': {
94
+ const split = feesData.pop()?.result
95
+ daoFee = formatUnits(split[0]?.fee || BigInt(0), 16)
96
+ liquidityFee = formatUnits(split[1]?.fee || BigInt(0), 16)
97
+ break
98
+ }
93
99
  default: {
94
100
  const fees: { fees: bigint[] } = feesData.pop()?.result
95
- daoFee = formatUnits(fees.fees[0]!, 16)
96
- liquidityFee = formatUnits(fees.fees[1]!, 16)
101
+ daoFee = formatUnits(fees?.fees[0] || BigInt(0), 16)
102
+ liquidityFee = formatUnits(fees?.fees[1] || BigInt(0), 16)
97
103
  break
98
104
  }
99
105
  }
@@ -1,6 +1,10 @@
1
+ import { lockerWithId } from '@stake-dao/constants'
2
+
1
3
  const gaugeCalls = (gauge: string) => [
2
4
  { address: gauge, name: 'totalSupply' },
3
- { address: gauge, name: 'working_supply' },
5
+ gauge === lockerWithId('zero', 59144)!.modules.gauge
6
+ ? { address: gauge, name: 'totalSupply' }
7
+ : { address: gauge, name: 'working_supply' },
4
8
  ]
5
9
 
6
10
  export default gaugeCalls
@@ -22,8 +22,9 @@ const callsForLockers = (
22
22
  address: Address
23
23
  delegator: Address
24
24
  },
25
+ veNFT?: Address,
25
26
  ) => [
26
- ...veCalls(lockerId, votingEscrow, locker as Address, token),
27
+ ...veCalls(lockerId, votingEscrow, locker as Address, token, veNFT),
27
28
  ...depositorCalls(depositor, locker as Address),
28
29
  ...gaugeCalls(gauge),
29
30
  // Token
@@ -3,7 +3,7 @@ import { lockerWithId } from '@stake-dao/constants'
3
3
  import type { Address } from 'viem'
4
4
  import { lockedAmountCall } from '../index.js'
5
5
 
6
- const veCalls = (lockerId: string, votingEscrow: string, locker: Address, token: string) => {
6
+ const veCalls = (lockerId: string, votingEscrow: string, locker: Address, token: string, veNFT?: Address) => {
7
7
  const calls: any[] = []
8
8
  calls.push(lockedAmountCall(lockerId, votingEscrow, locker))
9
9
  calls.push({ address: votingEscrow, name: 'balanceOf', params: [locker] })
@@ -13,9 +13,10 @@ const veCalls = (lockerId: string, votingEscrow: string, locker: Address, token:
13
13
  lockerWithId('pendle')!.modules.locker,
14
14
  lockerWithId('mav')!.modules.locker,
15
15
  lockerWithId('cake', 56)!.modules.locker,
16
+ lockerWithId('zero', 59144)!.modules.locker,
16
17
  ].includes(locker)
17
18
  ) {
18
- calls.push({ address: token, name: 'balanceOf', params: [votingEscrow] })
19
+ calls.push({ address: token, name: 'balanceOf', params: [veNFT || votingEscrow] })
19
20
  } else {
20
21
  calls.push({ address: votingEscrow, name: 'supply' })
21
22
  }
@@ -170,6 +170,12 @@ export const lockedAmountCall = (lockerId: string, votingEscrow: string, locker:
170
170
  name: 'balanceOfLockedFxs',
171
171
  params: [locker],
172
172
  }
173
+ case 'zero':
174
+ return {
175
+ address: votingEscrow,
176
+ name: 'getLockedNftDetails',
177
+ params: [locker],
178
+ }
173
179
  default:
174
180
  return {
175
181
  address: votingEscrow,
package/src/prices.ts CHANGED
@@ -24,6 +24,8 @@ export const getLlamaTokenPrefix = (chainId = 1): string => {
24
24
  return 'arbitrum'
25
25
  case 56:
26
26
  return 'bsc'
27
+ case 59144:
28
+ return 'linea'
27
29
  default:
28
30
  return 'ethereum'
29
31
  }