@stake-dao/reader 0.4.26 → 0.4.27
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.
- package/dist/esm/bytecodes/gaugeManager/curveGaugeRewardsData.js +36 -0
- package/dist/esm/bytecodes/gaugeManager/curveGaugeRewardsData.js.map +1 -0
- package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js +2 -2
- package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js.map +1 -1
- package/dist/esm/bytecodes/votemarket/batchCampaigns.js +1 -1
- package/dist/esm/bytecodes/votemarket/batchCampaigns.js.map +1 -1
- package/dist/esm/gaugeManager/curve/gmFetchGauge.js +34 -0
- package/dist/esm/gaugeManager/curve/gmFetchGauge.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js +24 -5
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/votemarket/fetchCampaigns.js +24 -6
- package/dist/esm/votemarket/fetchCampaigns.js.map +1 -1
- package/dist/esm/votemarket/types.js +2 -0
- package/dist/esm/votemarket/types.js.map +1 -0
- package/dist/types/bytecodes/gaugeManager/curveGaugeRewardsData.d.ts +4 -0
- package/dist/types/bytecodes/gaugeManager/curveGaugeRewardsData.d.ts.map +1 -0
- package/dist/types/gaugeManager/curve/gmFetchGauge.d.ts +25 -0
- package/dist/types/gaugeManager/curve/gmFetchGauge.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/votemarket/fetchCampaigns.d.ts +4 -11
- package/dist/types/votemarket/fetchCampaigns.d.ts.map +1 -1
- package/dist/types/votemarket/types.d.ts +40 -0
- package/dist/types/votemarket/types.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/bytecodes/gaugeManager/curveGaugeRewardsData.ts +39 -0
- package/src/bytecodes/strategies/batches/batchPancakeSwapPositions.ts +2 -2
- package/src/bytecodes/votemarket/batchCampaigns.ts +1 -1
- package/src/gaugeManager/curve/gmFetchGauge.ts +68 -0
- package/src/index.ts +13 -0
- package/src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts +33 -8
- package/src/utils.ts +1 -1
- package/src/votemarket/fetchCampaigns.ts +31 -20
- package/src/votemarket/types.ts +39 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const curveGaugeRewardsData = {
|
|
2
|
+
bytecode: '0x608060405234801561000f575f80fd5b50604051610e98380380610e9883398181016040528101906100319190610819565b5f8290505f8490505f8273ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610869565b90506100b16106a4565b8373ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f9573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061012191906109d0565b815f01819052508373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610170573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061019891906109d0565b8160200181905250818160400181815250508373ffffffffffffffffffffffffffffffffffffffff1663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102179190610a17565b816060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1663f72332d9876040518263ffffffff1660e01b81526004016102879190610a51565b602060405180830381865afa1580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a17565b8160a0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1663fdff9b4d876040518263ffffffff1660e01b81526004016103369190610a51565b602060405180830381865afa158015610351573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103759190610a17565b8160c0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508167ffffffffffffffff8111156103c6576103c56108ac565b5b6040519080825280602002602001820160405280156103ff57816020015b6103ec61071f565b8152602001906001900390816103e45790505b5081608001819052505f5b828110156106755761041a61071f565b5f8673ffffffffffffffffffffffffffffffffffffffff166354c49fe9846040518263ffffffff1660e01b81526004016104549190610a79565b602060405180830381865afa15801561046f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104939190610a17565b90506001880361051c578673ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016104d69190610a51565b60c060405180830381865afa1580156104f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105159190610b33565b915061060c565b5f8973ffffffffffffffffffffffffffffffffffffffff166348e9c65e836040518263ffffffff1660e01b81526004016105569190610a51565b60a060405180830381865afa158015610571573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105959190610be7565b9050805f0151836020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080602001518360400181815250508060400151836060018181525050806060015183608001818152505080608001518360a0018181525050505b80825f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818460800151848151811061065b5761065a610c12565b5b60200260200101819052505050808060010191505061040a565b505f816040516020016106889190610e77565b6040516020818303038152906040529050602081018059038082f35b6040518060e0016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107b58261078c565b9050919050565b6107c5816107ab565b81146107cf575f80fd5b50565b5f815190506107e0816107bc565b92915050565b5f819050919050565b6107f8816107e6565b8114610802575f80fd5b50565b5f81519050610813816107ef565b92915050565b5f805f606084860312156108305761082f610784565b5b5f61083d868287016107d2565b935050602061084e868287016107d2565b925050604061085f86828701610805565b9150509250925092565b5f6020828403121561087e5761087d610784565b5b5f61088b84828501610805565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108e28261089c565b810181811067ffffffffffffffff82111715610901576109006108ac565b5b80604052505050565b5f61091361077b565b905061091f82826108d9565b919050565b5f67ffffffffffffffff82111561093e5761093d6108ac565b5b6109478261089c565b9050602081019050919050565b8281835e5f83830152505050565b5f61097461096f84610924565b61090a565b9050828152602081018484840111156109905761098f610898565b5b61099b848285610954565b509392505050565b5f82601f8301126109b7576109b6610894565b5b81516109c7848260208601610962565b91505092915050565b5f602082840312156109e5576109e4610784565b5b5f82015167ffffffffffffffff811115610a0257610a01610788565b5b610a0e848285016109a3565b91505092915050565b5f60208284031215610a2c57610a2b610784565b5b5f610a39848285016107d2565b91505092915050565b610a4b816107ab565b82525050565b5f602082019050610a645f830184610a42565b92915050565b610a73816107e6565b82525050565b5f602082019050610a8c5f830184610a6a565b92915050565b5f80fd5b5f60c08284031215610aab57610aaa610a92565b5b610ab560c061090a565b90505f610ac4848285016107d2565b5f830152506020610ad7848285016107d2565b6020830152506040610aeb84828501610805565b6040830152506060610aff84828501610805565b6060830152506080610b1384828501610805565b60808301525060a0610b2784828501610805565b60a08301525092915050565b5f60c08284031215610b4857610b47610784565b5b5f610b5584828501610a96565b91505092915050565b5f60a08284031215610b7357610b72610a92565b5b610b7d60a061090a565b90505f610b8c848285016107d2565b5f830152506020610b9f84828501610805565b6020830152506040610bb384828501610805565b6040830152506060610bc784828501610805565b6060830152506080610bdb84828501610805565b60808301525092915050565b5f60a08284031215610bfc57610bfb610784565b5b5f610c0984828501610b5e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f610c6382610c3f565b610c6d8185610c49565b9350610c7d818560208601610954565b610c868161089c565b840191505092915050565b610c9a816107e6565b82525050565b610ca9816107ab565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f820151610cec5f850182610ca0565b506020820151610cff6020850182610ca0565b506040820151610d126040850182610c91565b506060820151610d256060850182610c91565b506080820151610d386080850182610c91565b5060a0820151610d4b60a0850182610c91565b50505050565b5f610d5c8383610cd8565b60c08301905092915050565b5f602082019050919050565b5f610d7e82610caf565b610d888185610cb9565b9350610d9383610cc9565b805f5b83811015610dc3578151610daa8882610d51565b9750610db583610d68565b925050600181019050610d96565b5085935050505092915050565b5f60e083015f8301518482035f860152610dea8282610c59565b91505060208301518482036020860152610e048282610c59565b9150506040830151610e196040860182610c91565b506060830151610e2c6060860182610ca0565b5060808301518482036080860152610e448282610d74565b91505060a0830151610e5960a0860182610ca0565b5060c0830151610e6c60c0860182610ca0565b508091505092915050565b5f6020820190508181035f830152610e8f8184610dd0565b90509291505056fe',
|
|
3
|
+
inputType: ['address _gaugeManager, address _gauge, uint256 _chainId'],
|
|
4
|
+
outputTypeHr: [
|
|
5
|
+
'struct ReturnData { uint256 rewardCount; address manager; Reward[] rewardTokens; address transferringManager; address managerFromGaugeManager; }',
|
|
6
|
+
'struct Reward { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
|
|
7
|
+
],
|
|
8
|
+
outputType: [
|
|
9
|
+
{
|
|
10
|
+
type: 'tuple',
|
|
11
|
+
name: 'returnData',
|
|
12
|
+
components: [
|
|
13
|
+
{ type: 'string', name: 'name' },
|
|
14
|
+
{ type: 'string', name: 'symbol' },
|
|
15
|
+
{ type: 'uint256', name: 'rewardCount' },
|
|
16
|
+
{ type: 'address', name: 'manager' },
|
|
17
|
+
{
|
|
18
|
+
type: 'tuple[]',
|
|
19
|
+
name: 'rewardTokens',
|
|
20
|
+
components: [
|
|
21
|
+
{ type: 'address', name: 'token' },
|
|
22
|
+
{ type: 'address', name: 'distributor' },
|
|
23
|
+
{ type: 'uint256', name: 'period_finish' },
|
|
24
|
+
{ type: 'uint256', name: 'rate' },
|
|
25
|
+
{ type: 'uint256', name: 'last_update' },
|
|
26
|
+
{ type: 'uint256', name: 'integral' },
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
{ type: 'address', name: 'transferringManager' },
|
|
30
|
+
{ type: 'address', name: 'managerFromGaugeManager' },
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
export default curveGaugeRewardsData;
|
|
36
|
+
//# sourceMappingURL=curveGaugeRewardsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curveGaugeRewardsData.js","sourceRoot":"","sources":["../../../../src/bytecodes/gaugeManager/curveGaugeRewardsData.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAwB;IACjD,QAAQ,EACN,ozOAAozO;IACtzO,SAAS,EAAE,CAAC,yDAAyD,CAAC;IACtE,YAAY,EAAE;QACZ,kJAAkJ;QAClJ,mIAAmI;KACpI;IACD,UAAU,EAAE;QACV;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;gBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;gBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE;wBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;wBAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;wBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;wBAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;wBACjC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;wBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;qBACtC;iBACF;gBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE;gBAChD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE;aACrD;SACF;KACF;CACF,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const commonBytecode = '
|
|
2
|
-
const commonInputType = ['address _masterChef, address _strategy, address _locker'];
|
|
1
|
+
const commonBytecode = '0x608060405234801561000f575f80fd5b50604051610af4380380610af483398181016040528101906100319190610543565b5f8590505f8590505f831461004657826100bf565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161007f91906105c9565b602060405180830381865afa15801561009a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100be91906105e2565b5b92505f84846100ce919061063a565b67ffffffffffffffff8111156100e7576100e661066d565b5b60405190808252806020026020018201604052801561012057816020015b61010d610420565b8152602001906001900390816101055790505b5090505f8590505b848110156103f1575f8473ffffffffffffffffffffffffffffffffffffffff16632f745c5989846040518363ffffffff1660e01b815260040161016c9291906106a9565b602060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab91906105e2565b90505f8573ffffffffffffffffffffffffffffffffffffffff16633b1acf74836040518263ffffffff1660e01b81526004016101e791906106d0565b61012060405180830381865afa158015610203573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022791906108a0565b9050610231610420565b8281610100018181525050815f0151815f01906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff1681525050816020015181602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508160400151816040019060020b908160020b815250508160600151816060019060020b908160020b8152505081608001518160800181815250508160a001518160a00181815250508160e001518160c00181815250508161010001518160e00181815250508573ffffffffffffffffffffffffffffffffffffffff1663b3060d36846040518263ffffffff1660e01b815260040161034091906106d0565b602060405180830381865afa15801561035b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037f91906108cc565b81610120019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080858a866103c5919061063a565b815181106103d6576103d56108f7565b5b60200260200101819052505050508080600101915050610128565b505f816040516020016104049190610ad3565b6040516020818303038152906040529050602081018059038082f35b6040518061014001604052805f6fffffffffffffffffffffffffffffffff1681526020015f6fffffffffffffffffffffffffffffffff1681526020015f60020b81526020015f60020b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104df826104b6565b9050919050565b6104ef816104d5565b81146104f9575f80fd5b50565b5f8151905061050a816104e6565b92915050565b5f819050919050565b61052281610510565b811461052c575f80fd5b50565b5f8151905061053d81610519565b92915050565b5f805f805f60a0868803121561055c5761055b6104b2565b5b5f610569888289016104fc565b955050602061057a888289016104fc565b945050604061058b888289016104fc565b935050606061059c8882890161052f565b92505060806105ad8882890161052f565b9150509295509295909350565b6105c3816104d5565b82525050565b5f6020820190506105dc5f8301846105ba565b92915050565b5f602082840312156105f7576105f66104b2565b5b5f6106048482850161052f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61064482610510565b915061064f83610510565b92508282039050818111156106675761066661060d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106a381610510565b82525050565b5f6040820190506106bc5f8301856105ba565b6106c9602083018461069a565b9392505050565b5f6020820190506106e35f83018461069a565b92915050565b5f80fd5b5f601f19601f8301169050919050565b610706826106ed565b810181811067ffffffffffffffff821117156107255761072461066d565b5b80604052505050565b5f6107376104a9565b905061074382826106fd565b919050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b61076c81610748565b8114610776575f80fd5b50565b5f8151905061078781610763565b92915050565b5f8160020b9050919050565b6107a28161078d565b81146107ac575f80fd5b50565b5f815190506107bd81610799565b92915050565b5f61012082840312156107d9576107d86106e9565b5b6107e461012061072e565b90505f6107f384828501610779565b5f83015250602061080684828501610779565b602083015250604061081a848285016107af565b604083015250606061082e848285016107af565b60608301525060806108428482850161052f565b60808301525060a06108568482850161052f565b60a08301525060c061086a848285016104fc565b60c08301525060e061087e8482850161052f565b60e0830152506101006108938482850161052f565b6101008301525092915050565b5f61012082840312156108b6576108b56104b2565b5b5f6108c3848285016107c3565b91505092915050565b5f602082840312156108e1576108e06104b2565b5b5f6108ee848285016104fc565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61095681610748565b82525050565b6109658161078d565b82525050565b61097481610510565b82525050565b610983816104d5565b82525050565b61014082015f82015161099e5f85018261094d565b5060208201516109b1602085018261094d565b5060408201516109c4604085018261095c565b5060608201516109d7606085018261095c565b5060808201516109ea608085018261096b565b5060a08201516109fd60a085018261096b565b5060c0820151610a1060c085018261096b565b5060e0820151610a2360e085018261096b565b50610100820151610a3861010085018261096b565b50610120820151610a4d61012085018261097a565b50505050565b5f610a5e8383610989565b6101408301905092915050565b5f602082019050919050565b5f610a8182610924565b610a8b818561092e565b9350610a968361093e565b805f5b83811015610ac6578151610aad8882610a53565b9750610ab883610a6b565b925050600181019050610a99565b5085935050505092915050565b5f6020820190508181035f830152610aeb8184610a77565b90509291505056fe';
|
|
2
|
+
const commonInputType = ['address _masterChef, address _strategy, address _locker, uint256 skip, uint256 limit'];
|
|
3
3
|
const commonOutputTypeHr = [
|
|
4
4
|
'PositionInfo[] returnData',
|
|
5
5
|
'struct PositionInfo { uint128 liquidity; uint128 boostLiquidity; int24 tickLower; int24 tickUpper; uint256 rewardGrowthInside; uint256 reward; uint256 pid; uint256 boostMultiplier; uint256 tokenId; address owner; }',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchPancakeSwapPositions.js","sourceRoot":"","sources":["../../../../../src/bytecodes/strategies/batches/batchPancakeSwapPositions.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAClB,
|
|
1
|
+
{"version":3,"file":"batchPancakeSwapPositions.js","sourceRoot":"","sources":["../../../../../src/bytecodes/strategies/batches/batchPancakeSwapPositions.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAClB,4+KAA4+K,CAAA;AAE9+K,MAAM,eAAe,GAAG,CAAC,sFAAsF,CAAC,CAAA;AAEhH,MAAM,kBAAkB,GAAG;IACzB,2BAA2B;IAC3B,wNAAwN;CACzN,CAAA;AAED,MAAM,yBAAyB,GAAkB;IAC/C,QAAQ,EAAE;QACR,CAAC,EAAE,cAAc;QACjB,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE;QACT,CAAC,EAAE,eAAe;QAClB,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,eAAe;KACvB;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,kBAAkB;QACrB,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,kBAAkB;KAC1B;IACD,UAAU,EAAE;QACV,EAAE,EAAE;YACF;gBACE,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,SAAS;wBACpB,cAAc,EAAE,SAAS;wBACzB,SAAS,EAAE,OAAO;wBAClB,SAAS,EAAE,OAAO;wBAClB,kBAAkB,EAAE,SAAS;wBAC7B,MAAM,EAAE,SAAS;wBACjB,GAAG,EAAE,SAAS;wBACd,eAAe,EAAE,SAAS;wBAC1B,OAAO,EAAE,SAAS;qBACnB;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const batchCampaigns = {
|
|
2
2
|
bytecode: {
|
|
3
|
-
1: '
|
|
3
|
+
1: '0x608060405234801561000f575f80fd5b5060405161123a38038061123a83398181016040528101906100319190610879565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff16637274e30d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af91906108c9565b5b91505f83836100bf9190610921565b67ffffffffffffffff8111156100d8576100d7610954565b5b60405190808252806020026020018201604052801561011157816020015b6100fe6106c2565b8152602001906001900390816100f65790505b5090505f8490505b83811015610693576101296106c2565b81815f0181815250508373ffffffffffffffffffffffffffffffffffffffff16635598f8cc836040518263ffffffff1660e01b815260040161016b9190610990565b61016060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab9190610b47565b81602001819052508373ffffffffffffffffffffffffffffffffffffffff166355b88ff6836040518263ffffffff1660e01b81526004016101ec9190610990565b602060405180830381865afa158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b9190610ba8565b8160400190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff1663df4c3d10836040518263ffffffff1660e01b81526004016102739190610990565b602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b29190610ba8565b8160600190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff16636fb08df2836040518263ffffffff1660e01b81526004016102fa9190610990565b5f60405180830381865afa158015610314573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061033c9190610c9b565b81608001819052505f62093a808573ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa158015610392573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b691906108c9565b6103c09190610ce2565b90505f82604001516103d257816103dd565b826020015161012001515b90508573ffffffffffffffffffffffffffffffffffffffff166352aed57885836040518363ffffffff1660e01b815260040161041a929190610d15565b608060405180830381865afa158015610435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104599190610db1565b8360a001819052508573ffffffffffffffffffffffffffffffffffffffff16639dd5359785846040518363ffffffff1660e01b815260040161049c929190610d15565b602060405180830381865afa1580156104b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104db91906108c9565b8360c00181815250505f8290505b83602001516101000151811115610658575f8773ffffffffffffffffffffffffffffffffffffffff166317f3a72287846040518363ffffffff1660e01b8152600401610536929190610d15565b608060405180830381865afa158015610551573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105759190610e51565b90505f8160200151146105d857805f015185602001516080019060ff16908160ff16815250508060200151856020015160c00181815250508060400151856020015160a00181815250508060600151856020015161012001818152505050610658565b8773ffffffffffffffffffffffffffffffffffffffff1663ac4746ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610621573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064591906108c9565b826106509190610921565b9150506104e9565b83868a876106669190610921565b8151811061067757610676610e7c565b5b6020026020010181905250505050508080600101915050610119565b505f816040516020016106a69190611219565b6040516020818303038152906040529050602081018059038082f35b6040518060e001604052805f81526020016106db61070b565b81526020015f151581526020015f15158152602001606081526020016106ff6107b5565b81526020015f81525090565b6040518061016001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f60ff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610815826107ec565b9050919050565b6108258161080b565b811461082f575f80fd5b50565b5f815190506108408161081c565b92915050565b5f819050919050565b61085881610846565b8114610862575f80fd5b50565b5f815190506108738161084f565b92915050565b5f805f606084860312156108905761088f6107e4565b5b5f61089d86828701610832565b93505060206108ae86828701610865565b92505060406108bf86828701610865565b9150509250925092565b5f602082840312156108de576108dd6107e4565b5b5f6108eb84828501610865565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61092b82610846565b915061093683610846565b925082820390508181111561094e5761094d6108f4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61098a81610846565b82525050565b5f6020820190506109a35f830184610981565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6109c6826109ad565b810181811067ffffffffffffffff821117156109e5576109e4610954565b5b80604052505050565b5f6109f76107db565b9050610a0382826109bd565b919050565b5f60ff82169050919050565b610a1d81610a08565b8114610a27575f80fd5b50565b5f81519050610a3881610a14565b92915050565b5f6101608284031215610a5457610a536109a9565b5b610a5f6101606109ee565b90505f610a6e84828501610865565b5f830152506020610a8184828501610832565b6020830152506040610a9584828501610832565b6040830152506060610aa984828501610832565b6060830152506080610abd84828501610a2a565b60808301525060a0610ad184828501610865565b60a08301525060c0610ae584828501610865565b60c08301525060e0610af984828501610865565b60e083015250610100610b0e84828501610865565b61010083015250610120610b2484828501610865565b61012083015250610140610b3a84828501610832565b6101408301525092915050565b5f6101608284031215610b5d57610b5c6107e4565b5b5f610b6a84828501610a3e565b91505092915050565b5f8115159050919050565b610b8781610b73565b8114610b91575f80fd5b50565b5f81519050610ba281610b7e565b92915050565b5f60208284031215610bbd57610bbc6107e4565b5b5f610bca84828501610b94565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115610bf157610bf0610954565b5b602082029050602081019050919050565b5f80fd5b5f610c18610c1384610bd7565b6109ee565b90508083825260208201905060208402830185811115610c3b57610c3a610c02565b5b835b81811015610c645780610c508882610832565b845260208401935050602081019050610c3d565b5050509392505050565b5f82601f830112610c8257610c81610bd3565b5b8151610c92848260208601610c06565b91505092915050565b5f60208284031215610cb057610caf6107e4565b5b5f82015167ffffffffffffffff811115610ccd57610ccc6107e8565b5b610cd984828501610c6e565b91505092915050565b5f610cec82610846565b9150610cf783610846565b9250828201905080821115610d0f57610d0e6108f4565b5b92915050565b5f604082019050610d285f830185610981565b610d356020830184610981565b9392505050565b5f60808284031215610d5157610d506109a9565b5b610d5b60806109ee565b90505f610d6a84828501610865565b5f830152506020610d7d84828501610865565b6020830152506040610d9184828501610865565b6040830152506060610da584828501610b94565b60608301525092915050565b5f60808284031215610dc657610dc56107e4565b5b5f610dd384828501610d3c565b91505092915050565b5f60808284031215610df157610df06109a9565b5b610dfb60806109ee565b90505f610e0a84828501610a2a565b5f830152506020610e1d84828501610865565b6020830152506040610e3184828501610865565b6040830152506060610e4584828501610865565b60608301525092915050565b5f60808284031215610e6657610e656107e4565b5b5f610e7384828501610ddc565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610edb81610846565b82525050565b610eea8161080b565b82525050565b610ef981610a08565b82525050565b61016082015f820151610f145f850182610ed2565b506020820151610f276020850182610ee1565b506040820151610f3a6040850182610ee1565b506060820151610f4d6060850182610ee1565b506080820151610f606080850182610ef0565b5060a0820151610f7360a0850182610ed2565b5060c0820151610f8660c0850182610ed2565b5060e0820151610f9960e0850182610ed2565b50610100820151610fae610100850182610ed2565b50610120820151610fc3610120850182610ed2565b50610140820151610fd8610140850182610ee1565b50505050565b610fe781610b73565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6110218383610ee1565b60208301905092915050565b5f602082019050919050565b5f61104382610fed565b61104d8185610ff7565b935061105883611007565b805f5b8381101561108857815161106f8882611016565b975061107a8361102d565b92505060018101905061105b565b5085935050505092915050565b608082015f8201516110a95f850182610ed2565b5060208201516110bc6020850182610ed2565b5060408201516110cf6040850182610ed2565b5060608201516110e26060850182610fde565b50505050565b5f61028083015f8301516110fe5f860182610ed2565b5060208301516111116020860182610eff565b506040830151611125610180860182610fde565b5060608301516111396101a0860182610fde565b5060808301518482036101c08601526111528282611039565b91505060a08301516111686101e0860182611095565b5060c083015161117c610260860182610ed2565b508091505092915050565b5f61119283836110e8565b905092915050565b5f602082019050919050565b5f6111b082610ea9565b6111ba8185610eb3565b9350836020820285016111cc85610ec3565b805f5b8581101561120757848403895281516111e88582611187565b94506111f38361119a565b925060208a019950506001810190506111cf565b50829750879550505050505092915050565b5f6020820190508181035f83015261123181846111a6565b90509291505056fe',
|
|
4
4
|
},
|
|
5
5
|
inputType: {
|
|
6
6
|
1: ['address platform, uint256 skip, uint256 limit'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchCampaigns.js","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchCampaigns.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE;QACR,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"batchCampaigns.js","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchCampaigns.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE;QACR,CAAC,EAAE,wnSAAwnS;KAC5nS;IACD,SAAS,EAAE;QACT,CAAC,EAAE,CAAC,+CAA+C,CAAC;KACrD;IACD,YAAY,EAAE;QACZ,CAAC,EAAE;YACD,kCAAkC;YAClC,sGAAsG;YACtG,6PAA6P;SAC9P;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC/B;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BACpC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;4BAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BACpC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;4BACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE;4BAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;4BAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE;4BAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;4BAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE;4BAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;4BACzC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;yBAClC;qBACF;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;oBAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE;oBACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;oBACxC;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,eAAe;wBACrB,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE;4BAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;4BAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;4BACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;yBAClC;qBACF;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE;iBACxC;aACF;SACF;KACF;CACF,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { encodeAbiParameters, formatUnits, parseAbiParameters } from 'viem';
|
|
2
|
+
import curveGaugeRewardsData from '../../bytecodes/gaugeManager/curveGaugeRewardsData.js';
|
|
3
|
+
import { batchJsonRpc, concatBytecode } from '../../utils.js';
|
|
4
|
+
export const gmFetchGauge = async ({ gaugeManager, gauge, chainId, rpc, }) => {
|
|
5
|
+
const rawGaugeRewardsData = await batchJsonRpc({
|
|
6
|
+
rpc,
|
|
7
|
+
calls: [
|
|
8
|
+
concatBytecode(curveGaugeRewardsData.bytecode, encodeAbiParameters(parseAbiParameters(curveGaugeRewardsData.inputType), [gaugeManager, gauge, chainId])),
|
|
9
|
+
],
|
|
10
|
+
outputTypeAbi: curveGaugeRewardsData.outputType,
|
|
11
|
+
parse: false,
|
|
12
|
+
callsKey: `gaugeManager/curve/fetchGaugeRewardsData.ts: rawGaugeRewardsData - chainId ${chainId} - rpc ${rpc}`,
|
|
13
|
+
});
|
|
14
|
+
if (rawGaugeRewardsData[0]) {
|
|
15
|
+
return {
|
|
16
|
+
name: rawGaugeRewardsData[0].name,
|
|
17
|
+
symbol: rawGaugeRewardsData[0].symbol,
|
|
18
|
+
manager: rawGaugeRewardsData[0].manager,
|
|
19
|
+
managerFromGaugeManager: rawGaugeRewardsData[0].managerFromGaugeManager,
|
|
20
|
+
transferringManager: rawGaugeRewardsData[0].transferringManager,
|
|
21
|
+
rewardCount: Number(rawGaugeRewardsData[0].rewardCount),
|
|
22
|
+
rewardTokens: rawGaugeRewardsData[0].rewardTokens.map((t) => ({
|
|
23
|
+
token: t.token,
|
|
24
|
+
distributor: t.distributor,
|
|
25
|
+
periodFinish: Number(t.period_finish),
|
|
26
|
+
rate: formatUnits(t.rate, 18),
|
|
27
|
+
lastUpdate: Number(t.last_update),
|
|
28
|
+
integral: formatUnits(t.integral, 18),
|
|
29
|
+
})),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=gmFetchGauge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmFetchGauge.js","sourceRoot":"","sources":["../../../../src/gaugeManager/curve/gmFetchGauge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC3E,OAAO,qBAAqB,MAAM,uDAAuD,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA0B7D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,YAAY,EACZ,KAAK,EACL,OAAO,EACP,GAAG,GACe,EAAoC,EAAE;IACxD,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAC;QAC7C,GAAG;QACH,KAAK,EAAE;YACL,cAAc,CACZ,qBAAqB,CAAC,QAAQ,EAC9B,mBAAmB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAQ,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAChH;SACF;QACD,aAAa,EAAE,qBAAqB,CAAC,UAAU;QAC/C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,8EAA8E,OAAO,UAAU,GAAG,EAAE;KAC/G,CAAC,CAAA;IAEF,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;YACjC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM;YACrC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO;YACvC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACvE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;YAC/D,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACvD,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;gBACrC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;gBACjC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;aACtC,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
///////////////////////////////////////////////////////////////
|
|
4
4
|
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
|
|
5
5
|
export * from './sdt.js';
|
|
6
|
+
export { rpcCall, batchJsonRpc } from './utils.js';
|
|
6
7
|
////////////////////////////////////////////////////////////////
|
|
7
8
|
/// --- SDT
|
|
8
9
|
///////////////////////////////////////////////////////////////
|
|
@@ -51,4 +52,10 @@ export { fetchCurveUserVotes } from './votemarket/curve/fetchCurveUserVotes.js';
|
|
|
51
52
|
export { fetchSnapshotUserData } from './votemarket/curve/fetchSnapshotUserData.js';
|
|
52
53
|
/// --- END VOTEMARKET
|
|
53
54
|
///////////////////////////////////////////////////////////////
|
|
55
|
+
////////////////////////////////////////////////////////////////
|
|
56
|
+
/// --- GAUGE MANAGER
|
|
57
|
+
// Curve
|
|
58
|
+
export { gmFetchGauge } from './gaugeManager/curve/gmFetchGauge.js';
|
|
59
|
+
/// --- END GAUGE MANAGER
|
|
60
|
+
///////////////////////////////////////////////////////////////
|
|
54
61
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc;AACd,+DAA+D;AAC/D,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc;AACd,+DAA+D;AAC/D,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGlD,gEAAgE;AAChE,WAAW;AACX,+DAA+D;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,gEAAgE;AAChE,eAAe;AACf,gEAAgE;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEjH,gEAAgE;AAChE,iBAAiB;AAEjB,cAAc,6BAA6B,CAAA;AAE3C,QAAQ;AACR,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAEtG,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,WAAW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D,QAAQ;AACR,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAA;AAE/F,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAErF,qBAAqB;AACrB,+DAA+D;AAE/D,gEAAgE;AAChE,kBAAkB;AAElB,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG/D,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAEnF,sBAAsB;AACtB,+DAA+D;AAE/D,gEAAgE;AAChE,qBAAqB;AAErB,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,yBAAyB;AACzB,+DAA+D"}
|
|
@@ -1,14 +1,33 @@
|
|
|
1
|
-
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
1
|
+
import { decodeAbiParameters, encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
2
2
|
import { batchPancakeSwapPositions } from '../../../bytecodes/index.js';
|
|
3
3
|
import { contracts } from '@stake-dao/constants';
|
|
4
|
+
import { range } from 'lodash-es';
|
|
4
5
|
import { concatBytecode } from '../../../index.js';
|
|
5
|
-
import { batchJsonRpc } from '../../../utils.js';
|
|
6
|
+
import { batchJsonRpc, rpcCall } from '../../../utils.js';
|
|
7
|
+
const PCS_V3_POSITIONS_CHUNK_SIZE = 50;
|
|
6
8
|
export const getPancakeV3Positions = async (rpc, chainId) => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
+
const nPositionsRequest = await rpcCall(rpc, [
|
|
10
|
+
{
|
|
11
|
+
to: contracts.pancakeMasterchef[chainId],
|
|
12
|
+
data: concatBytecode('0x70a08231', // balanceOf(address)
|
|
13
|
+
encodeAbiParameters(parseAbiParameters(['address user']), [contracts.cakeLocker[chainId]])),
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
16
|
+
const nPositions = Number(decodeAbiParameters([{ type: 'uint256', name: 'balanceOf' }], nPositionsRequest[0].result));
|
|
17
|
+
const positionsCalls = range(0, nPositions, PCS_V3_POSITIONS_CHUNK_SIZE).map((skip) => {
|
|
18
|
+
const inputParams = [
|
|
19
|
+
contracts.pancakeMasterchef[chainId],
|
|
20
|
+
contracts.cakeStrategy[chainId],
|
|
21
|
+
contracts.cakeLocker[chainId],
|
|
22
|
+
skip,
|
|
23
|
+
skip + PCS_V3_POSITIONS_CHUNK_SIZE > nPositions ? nPositions : skip + PCS_V3_POSITIONS_CHUNK_SIZE,
|
|
24
|
+
];
|
|
25
|
+
const inputData = encodeAbiParameters(parseAbiParameters(batchPancakeSwapPositions.inputType[chainId]), inputParams);
|
|
26
|
+
return concatBytecode(batchPancakeSwapPositions.bytecode[chainId], inputData);
|
|
27
|
+
});
|
|
9
28
|
const positionsData = await batchJsonRpc({
|
|
10
29
|
rpc,
|
|
11
|
-
calls:
|
|
30
|
+
calls: positionsCalls,
|
|
12
31
|
outputTypeAbi: batchPancakeSwapPositions.outputTypeHr[chainId],
|
|
13
32
|
callsKey: `strategies/pancakeswap/fetch/getPancakeV3Positions.ts: positionsData - chainId ${chainId} - rpc ${rpc}`,
|
|
14
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPancakeV3Positions.js","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"getPancakeV3Positions.js","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAW,EAAE,OAAe,EAAE,EAAE;IAC1E,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;QAC3C;YACE,EAAE,EAAE,SAAS,CAAC,iBAAkB,CAAC,OAAO,CAAE;YAC1C,IAAI,EAAE,cAAc,CAClB,YAAY,EAAE,qBAAqB;YACnC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAQ,EAAE,CAAC,SAAS,CAAC,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CACnG;SACF;KACF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAErH,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpF,MAAM,WAAW,GAAG;YAClB,SAAS,CAAC,iBAAkB,CAAC,OAAO,CAAC;YACrC,SAAS,CAAC,YAAa,CAAC,OAAO,CAAC;YAChC,SAAS,CAAC,UAAW,CAAC,OAAO,CAAC;YAC9B,IAAI;YACJ,IAAI,GAAG,2BAA2B,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,2BAA2B;SAClG,CAAA;QAED,MAAM,SAAS,GAAG,mBAAmB,CACnC,kBAAkB,CAAC,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAE,CAAQ,EACxE,WAAW,CACZ,CAAA;QACD,OAAO,cAAc,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,SAAS,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC;QACvC,GAAG;QACH,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,yBAAyB,CAAC,YAAY,CAAC,OAAO,CAAE;QAC/D,QAAQ,EAAE,kFAAkF,OAAO,UAAU,GAAG,EAAE;KACnH,CAAC,CAAA;IAEF,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|