@stake-dao/reader 0.1.0
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/batches/curveStrats.js +163 -0
- package/dist/esm/batches/curveStrats.js.map +1 -0
- package/dist/esm/batches/index.js +4 -0
- package/dist/esm/batches/index.js.map +1 -0
- package/dist/esm/batches/sdtGaugeRewards.js +22 -0
- package/dist/esm/batches/sdtGaugeRewards.js.map +1 -0
- package/dist/esm/batches/tokenData.js +22 -0
- package/dist/esm/batches/tokenData.js.map +1 -0
- package/dist/esm/batches/types.js +2 -0
- package/dist/esm/batches/types.js.map +1 -0
- package/dist/esm/endpoints.js +3 -0
- package/dist/esm/endpoints.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/number.js +45 -0
- package/dist/esm/number.js.map +1 -0
- package/dist/esm/prices.js +70 -0
- package/dist/esm/prices.js.map +1 -0
- package/dist/esm/sdt/sdt.js +92 -0
- package/dist/esm/sdt/sdt.js.map +1 -0
- package/dist/esm/sdt/veSdtAlternativeYields.js +19 -0
- package/dist/esm/sdt/veSdtAlternativeYields.js.map +1 -0
- package/dist/esm/strategies/curve/build.js +123 -0
- package/dist/esm/strategies/curve/build.js.map +1 -0
- package/dist/esm/strategies/curve/endpoints.js +6 -0
- package/dist/esm/strategies/curve/endpoints.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/abi.js +80 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/abi.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js +24 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/config.js +47 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/config.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js +172 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js +33 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js +36 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js +26 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js +20 -0
- package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/getAprBreakdown.js +73 -0
- package/dist/esm/strategies/curve/fetch/getAprBreakdown.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/getCvxApr.js +33 -0
- package/dist/esm/strategies/curve/fetch/getCvxApr.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +63 -0
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +88 -0
- package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/index.js +209 -0
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/types.js +2 -0
- package/dist/esm/strategies/curve/fetch/types.js.map +1 -0
- package/dist/esm/strategies/curve/httpCalls.js +80 -0
- package/dist/esm/strategies/curve/httpCalls.js.map +1 -0
- package/dist/esm/strategies/curve/onChainCalls.js +28 -0
- package/dist/esm/strategies/curve/onChainCalls.js.map +1 -0
- package/dist/esm/strategies/types.js +2 -0
- package/dist/esm/strategies/types.js.map +1 -0
- package/dist/esm/strategies/utils/boost.js +30 -0
- package/dist/esm/strategies/utils/boost.js.map +1 -0
- package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js +40 -0
- package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js.map +1 -0
- package/dist/esm/strategies/utils/index.js +7 -0
- package/dist/esm/strategies/utils/index.js.map +1 -0
- package/dist/esm/strategies/utils/promise.js +10 -0
- package/dist/esm/strategies/utils/promise.js.map +1 -0
- package/dist/esm/strategies/utils/sdt.js +112 -0
- package/dist/esm/strategies/utils/sdt.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
- package/dist/esm/utils.js +113 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/batches/curveStrats.d.ts +4 -0
- package/dist/types/batches/curveStrats.d.ts.map +1 -0
- package/dist/types/batches/index.d.ts +4 -0
- package/dist/types/batches/index.d.ts.map +1 -0
- package/dist/types/batches/sdtGaugeRewards.d.ts +4 -0
- package/dist/types/batches/sdtGaugeRewards.d.ts.map +1 -0
- package/dist/types/batches/tokenData.d.ts +4 -0
- package/dist/types/batches/tokenData.d.ts.map +1 -0
- package/dist/types/batches/types.d.ts +15 -0
- package/dist/types/batches/types.d.ts.map +1 -0
- package/dist/types/endpoints.d.ts +3 -0
- package/dist/types/endpoints.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/number.d.ts +6 -0
- package/dist/types/number.d.ts.map +1 -0
- package/dist/types/prices.d.ts +10 -0
- package/dist/types/prices.d.ts.map +1 -0
- package/dist/types/sdt/sdt.d.ts +31 -0
- package/dist/types/sdt/sdt.d.ts.map +1 -0
- package/dist/types/sdt/veSdtAlternativeYields.d.ts +19 -0
- package/dist/types/sdt/veSdtAlternativeYields.d.ts.map +1 -0
- package/dist/types/strategies/curve/build.d.ts +37 -0
- package/dist/types/strategies/curve/build.d.ts.map +1 -0
- package/dist/types/strategies/curve/endpoints.d.ts +6 -0
- package/dist/types/strategies/curve/endpoints.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts +49 -0
- package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts +8 -0
- package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts +34 -0
- package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts +3 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts +2 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts +11 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts +2 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts +5 -0
- package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts +17 -0
- package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/getCvxApr.d.ts +3 -0
- package/dist/types/strategies/curve/fetch/getCvxApr.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts +4 -0
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts +9 -0
- package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/index.d.ts +10 -0
- package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/types.d.ts +11 -0
- package/dist/types/strategies/curve/fetch/types.d.ts.map +1 -0
- package/dist/types/strategies/curve/httpCalls.d.ts +18 -0
- package/dist/types/strategies/curve/httpCalls.d.ts.map +1 -0
- package/dist/types/strategies/curve/onChainCalls.d.ts +2 -0
- package/dist/types/strategies/curve/onChainCalls.d.ts.map +1 -0
- package/dist/types/strategies/types.d.ts +130 -0
- package/dist/types/strategies/types.d.ts.map +1 -0
- package/dist/types/strategies/utils/boost.d.ts +2 -0
- package/dist/types/strategies/utils/boost.d.ts.map +1 -0
- package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts +4 -0
- package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts.map +1 -0
- package/dist/types/strategies/utils/index.d.ts +6 -0
- package/dist/types/strategies/utils/index.d.ts.map +1 -0
- package/dist/types/strategies/utils/promise.d.ts +2 -0
- package/dist/types/strategies/utils/promise.d.ts.map +1 -0
- package/dist/types/strategies/utils/sdt.d.ts +16 -0
- package/dist/types/strategies/utils/sdt.d.ts.map +1 -0
- package/dist/types/utils.d.ts +33 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +54 -0
- package/src/batches/curveStrats.ts +166 -0
- package/src/batches/index.ts +3 -0
- package/src/batches/sdtGaugeRewards.ts +26 -0
- package/src/batches/tokenData.ts +26 -0
- package/src/batches/types.ts +14 -0
- package/src/endpoints.ts +2 -0
- package/src/index.ts +7 -0
- package/src/number.ts +51 -0
- package/src/prices.ts +86 -0
- package/src/sdt/sdt.ts +110 -0
- package/src/sdt/veSdtAlternativeYields.ts +19 -0
- package/src/strategies/curve/build.ts +187 -0
- package/src/strategies/curve/endpoints.ts +21 -0
- package/src/strategies/curve/fetch/curveApiData/abi.ts +81 -0
- package/src/strategies/curve/fetch/curveApiData/bytecode.ts +43 -0
- package/src/strategies/curve/fetch/curveApiData/config.ts +56 -0
- package/src/strategies/curve/fetch/curveApiData/getCurveApiData.ts +207 -0
- package/src/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.ts +41 -0
- package/src/strategies/curve/fetch/curveApiData/getGaugesWeights.ts +52 -0
- package/src/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.ts +36 -0
- package/src/strategies/curve/fetch/curveApiData/getRegistries.ts +25 -0
- package/src/strategies/curve/fetch/getAprBreakdown.ts +98 -0
- package/src/strategies/curve/fetch/getCvxApr.ts +49 -0
- package/src/strategies/curve/fetch/getOnlyboostData.ts +100 -0
- package/src/strategies/curve/fetch/getStratsWithApr.ts +118 -0
- package/src/strategies/curve/fetch/index.ts +276 -0
- package/src/strategies/curve/fetch/types.ts +11 -0
- package/src/strategies/curve/httpCalls.ts +117 -0
- package/src/strategies/curve/onChainCalls.ts +36 -0
- package/src/strategies/types.ts +137 -0
- package/src/strategies/utils/boost.ts +41 -0
- package/src/strategies/utils/decodeEtherscanFactoryEvent.ts +42 -0
- package/src/strategies/utils/index.ts +8 -0
- package/src/strategies/utils/promise.ts +10 -0
- package/src/strategies/utils/sdt.ts +206 -0
- package/src/utils.ts +171 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
const curveStrats = {
|
|
2
|
+
bytecode: {
|
|
3
|
+
1: '0x60806040527352f541764e6e90eebc5c21ff570de0e2d63766b65f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073989aeb4d175e16225e39e87d0d97a3360524ad8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735f3b5dfeb7b28cdbd7faba78963ee202a494e2a260035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738e0c00ed546602fd9927df742bbabf726d5b0d1660045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156101b2575f80fd5b50604051612f2e380380612f2e83398181016040528101906101d4919061255c565b5f815190506101e1612165565b8167ffffffffffffffff8111156101fb576101fa6123a7565b5b60405190808252806020026020018201604052801561023457816020015b6102216121a3565b8152602001906001900390816102195790505b508160e001819052505f8490505f8690508173ffffffffffffffffffffffffffffffffffffffff16636977ff926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b2919061260f565b8360800181815250508173ffffffffffffffffffffffffffffffffffffffff1663513872bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610304573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610328919061260f565b8360a001818152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561039b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bf919061260f565b835f01818152505060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610431573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610455919061260f565b83602001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016104d79190612649565b602060405180830381865afa1580156104f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610516919061260f565b83604001818152505060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bbf7408a60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161059a9190612649565b602060405180830381865afa1580156105b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d9919061260f565b8360600181815250508073ffffffffffffffffffffffffffffffffffffffff1663fbbb2b106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064f919061260f565b8360c00181815250505f5b848110156112d3575f86828151811061067657610675612662565b5b602002602001015190505f815f015190505f826040015190505f83606001519050835f01518860e0015186815181106106b2576106b1612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a08231855f01516040518263ffffffff1660e01b815260040161072f9190612649565b602060405180830381865afa15801561074a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076e919061260f565b8860e00151868151811061078557610784612662565b5b602002602001015160200181815250506107a48361130260201b60201c565b8960e0015187815181106107bb576107ba612662565b5b60200260200101516060018a60e0015188815181106107dd576107dc612662565b5b6020026020010151608001828152508281525050508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085f919061260f565b8860e00151868151811061087657610875612662565b5b602002602001015160400181815250508173ffffffffffffffffffffffffffffffffffffffff166370a082315f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108de9190612649565b602060405180830381865afa1580156108f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091d919061260f565b8860e00151868151811061093457610933612662565b5b602002602001015160a00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161099c9190612649565b602060405180830381865afa1580156109b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109db919061260f565b8860e0015186815181106109f2576109f1612662565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6f919061260f565b8860e001518681518110610a8657610a85612662565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b04919061260f565b8860e001518681518110610b1b57610b1a612662565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff1663331345835f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610b839190612649565b6020604051808303815f875af1158015610b9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc3919061260f565b8860e001518681518110610bda57610bd9612662565b5b60200260200101516101200181815250508673ffffffffffffffffffffffffffffffffffffffff16636207d86685606001516040518263ffffffff1660e01b8152600401610c289190612649565b602060405180830381865afa158015610c43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c67919061260f565b8860e001518681518110610c7e57610c7d612662565b5b60200260200101516101400181815250508673ffffffffffffffffffffffffffffffffffffffff16634e791a3a85606001516040518263ffffffff1660e01b8152600401610ccc9190612649565b602060405180830381865afa158015610ce7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0b919061260f565b8860e001518681518110610d2257610d21612662565b5b60200260200101516101600181815250508073ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da0919061260f565b8860e001518681518110610db757610db6612662565b5b60200260200101516101800181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e35919061260f565b8860e001518681518110610e4c57610e4b612662565b5b60200260200101516101a00181815250505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ecb919061260f565b90508067ffffffffffffffff811115610ee757610ee66123a7565b5b604051908082528060200260200182016040528015610f155781602001602082028036833780820191505090505b508960e001518781518110610f2d57610f2c612662565b5b60200260200101516101c001819052508067ffffffffffffffff811115610f5757610f566123a7565b5b604051908082528060200260200182016040528015610f9057816020015b610f7d61223c565b815260200190600190039081610f755790505b508960e001518781518110610fa857610fa7612662565b5b60200260200101516101e001819052505f5b81811015611175575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610ffc919061269e565b602060405180830381865afa158015611017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103b91906126b7565b9050808b60e00151898151811061105557611054612662565b5b60200260200101516101c00151838151811061107457611073612662565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016110e79190612649565b60c060405180830381865afa158015611102573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611126919061277f565b8b60e00151898151811061113d5761113c612662565b5b60200260200101516101e00151838151811061115c5761115b612662565b5b6020026020010181905250508080600101915050610fba565b50611185836114d360201b60201c565b8960e00151878151811061119c5761119b612662565b5b6020026020010151610200018190525061129a8e8873ffffffffffffffffffffffffffffffffffffffff166398cf47156040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121d91906126b7565b87604001518773ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128f919061260f565b61175160201b60201c565b8960e0015187815181106112b1576112b0612662565b5b602002602001015161022001819052505050505050808060010191505061065a565b505f836040516020016112e69190612e53565b6040516020818303038152906040529050602081018059038082f35b5f808273ffffffffffffffffffffffffffffffffffffffff1663f8ce31646040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561136c57506040513d601f19601f82011682018060405250810190611369919061260f565b60015b6113e4578273ffffffffffffffffffffffffffffffffffffffff16633f71410a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113dd919061260f565b91506113e9565b809250505b8273ffffffffffffffffffffffffffffffffffffffff1663422ede426040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561145157506040513d601f19601f8201168201806040525081019061144e919061260f565b60015b6114c9578273ffffffffffffffffffffffffffffffffffffffff16637118035d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c2919061260f565b90506114ce565b809150505b915091565b60605f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561154257506040513d601f19601f8201168201806040525081019061153f919061260f565b60015b61154e575f9050611553565b809150505b8067ffffffffffffffff81111561156d5761156c6123a7565b5b6040519080825280602002602001820160405280156115a657816020015b611593612298565b81526020019060019003908161158b5790505b5092505f5b81811015611749575f8373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b81526004016115ed919061269e565b602060405180830381865afa158015611608573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162c91906126b7565b90508085838151811061164257611641612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f745f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016116d9929190612e73565b602060405180830381865afa1580156116f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611718919061260f565b85838151811061172b5761172a612662565b5b602002602001015160200181815250505080806001019150506115ab565b505050919050565b6117596122c6565b5f8590505f8490505f8273ffffffffffffffffffffffffffffffffffffffff166326256c0b876040518263ffffffff1660e01b815260040161179b9190612649565b602060405180830381865afa1580156117b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117da91906126b7565b90505f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141590505f8060608315611f65575f8590505f8173ffffffffffffffffffffffffffffffffffffffff1663475a91d16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611867573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188b91906126b7565b90508173ffffffffffffffffffffffffffffffffffffffff166370a082315f6040518263ffffffff1660e01b81526004016118c69190612649565b602060405180830381865afa1580156118e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611905919061260f565b94508c73ffffffffffffffffffffffffffffffffffffffff1663f7bbd4ec8d6040518263ffffffff1660e01b81526004016119409190612649565b602060405180830381865afa15801561195b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197f919061260f565b93505f8173ffffffffffffffffffffffffffffffffffffffff1663d55a23f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ef919061260f565b90506001816119fe9190612ec7565b67ffffffffffffffff811115611a1757611a166123a7565b5b604051908082528060200260200182016040528015611a5057816020015b611a3d612298565b815260200190600190039081611a355790505b5093508173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ac091906126b7565b845f81518110611ad357611ad2612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff16628cc262896040518263ffffffff1660e01b8152600401611b489190612649565b602060405180830381865afa158015611b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b87919061260f565b845f81518110611b9a57611b99612662565b5b602002602001015160200181815250505f5b81811015611f60575f8373ffffffffffffffffffffffffffffffffffffffff166340c35446836040518263ffffffff1660e01b8152600401611bee919061269e565b602060405180830381865afa158015611c09573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2d91906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff16628cc2628b6040518263ffffffff1660e01b8152600401611c679190612649565b602060405180830381865afa158015611c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca6919061260f565b86600184611cb49190612ec7565b81518110611cc557611cc4612662565b5b6020026020010151602001818152505060978473ffffffffffffffffffffffffffffffffffffffff1663f10684546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d44919061260f565b10611e88575f8173ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db791906126b7565b90508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2691906126b7565b87600185611e349190612ec7565b81518110611e4557611e44612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505050611f52565b8073ffffffffffffffffffffffffffffffffffffffff1663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ef591906126b7565b86600184611f039190612ec7565b81518110611f1457611f13612662565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b508080600101915050611bac565b505050505b5f828a11611f735789611f75565b825b905084895f01901515908115158152505085896020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505089896040018181525050838a611fd49190612efa565b896060018181525050838960800181815250508673ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120419190612649565b602060405180830381865afa15801561205c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612080919061260f565b8960a00181815250508673ffffffffffffffffffffffffffffffffffffffff166313ecb1ca60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120e39190612649565b602060405180830381865afa1580156120fe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612122919061260f565b8960c001818152505081896101200181905250808960e0018181525050808a61214b9190612efa565b896101000181815250505050505050505050949350505050565b6040518061010001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b6040518061024001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016060815260200160608152602001606081526020016122366122c6565b81525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b6040518061014001604052805f151581526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61236282612339565b9050919050565b61237281612358565b811461237c575f80fd5b50565b5f8151905061238d81612369565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123dd82612397565b810181811067ffffffffffffffff821117156123fc576123fb6123a7565b5b80604052505050565b5f61240e612328565b905061241a82826123d4565b919050565b5f67ffffffffffffffff821115612439576124386123a7565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f608082840312156124675761246661244e565b5b6124716080612405565b90505f6124808482850161237f565b5f8301525060206124938482850161237f565b60208301525060406124a78482850161237f565b60408301525060606124bb8482850161237f565b60608301525092915050565b5f6124d96124d48461241f565b612405565b905080838252602082019050608084028301858111156124fc576124fb61244a565b5b835b8181101561252557806125118882612452565b8452602084019350506080810190506124fe565b5050509392505050565b5f82601f83011261254357612542612393565b5b81516125538482602086016124c7565b91505092915050565b5f805f806080858703121561257457612573612331565b5b5f6125818782880161237f565b94505060206125928782880161237f565b93505060406125a38782880161237f565b925050606085015167ffffffffffffffff8111156125c4576125c3612335565b5b6125d08782880161252f565b91505092959194509250565b5f819050919050565b6125ee816125dc565b81146125f8575f80fd5b50565b5f81519050612609816125e5565b92915050565b5f6020828403121561262457612623612331565b5b5f612631848285016125fb565b91505092915050565b61264381612358565b82525050565b5f60208201905061265c5f83018461263a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612698816125dc565b82525050565b5f6020820190506126b15f83018461268f565b92915050565b5f602082840312156126cc576126cb612331565b5b5f6126d98482850161237f565b91505092915050565b5f60c082840312156126f7576126f661244e565b5b61270160c0612405565b90505f6127108482850161237f565b5f8301525060206127238482850161237f565b6020830152506040612737848285016125fb565b604083015250606061274b848285016125fb565b606083015250608061275f848285016125fb565b60808301525060a0612773848285016125fb565b60a08301525092915050565b5f60c0828403121561279457612793612331565b5b5f6127a1848285016126e2565b91505092915050565b6127b3816125dc565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127eb81612358565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61282583836127e2565b60208301905092915050565b5f602082019050919050565b5f612847826127f1565b61285181856127fb565b935061285c8361280b565b805f5b8381101561288c578151612873888261281a565b975061287e83612831565b92505060018101905061285f565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f8201516128d65f8501826127e2565b5060208201516128e960208501826127e2565b5060408201516128fc60408501826127aa565b50606082015161290f60608501826127aa565b50608082015161292260808501826127aa565b5060a082015161293560a08501826127aa565b50505050565b5f61294683836128c2565b60c08301905092915050565b5f602082019050919050565b5f61296882612899565b61297281856128a3565b935061297d836128b3565b805f5b838110156129ad578151612994888261293b565b975061299f83612952565b925050600181019050612980565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b604082015f8201516129f75f8501826127e2565b506020820151612a0a60208501826127aa565b50505050565b5f612a1b83836129e3565b60408301905092915050565b5f602082019050919050565b5f612a3d826129ba565b612a4781856129c4565b9350612a52836129d4565b805f5b83811015612a82578151612a698882612a10565b9750612a7483612a27565b925050600181019050612a55565b5085935050505092915050565b5f8115159050919050565b612aa381612a8f565b82525050565b5f61014083015f830151612abf5f860182612a9a565b506020830151612ad260208601826127e2565b506040830151612ae560408601826127aa565b506060830151612af860608601826127aa565b506080830151612b0b60808601826127aa565b5060a0830151612b1e60a08601826127aa565b5060c0830151612b3160c08601826127aa565b5060e0830151612b4460e08601826127aa565b50610100830151612b596101008601826127aa565b50610120830151848203610120860152612b738282612a33565b9150508091505092915050565b5f61024083015f830151612b965f8601826127e2565b506020830151612ba960208601826127aa565b506040830151612bbc60408601826127aa565b506060830151612bcf60608601826127aa565b506080830151612be260808601826127aa565b5060a0830151612bf560a08601826127aa565b5060c0830151612c0860c08601826127aa565b5060e0830151612c1b60e08601826127aa565b50610100830151612c306101008601826127aa565b50610120830151612c456101208601826127aa565b50610140830151612c5a6101408601826127aa565b50610160830151612c6f6101608601826127aa565b50610180830151612c846101808601826127aa565b506101a0830151612c996101a08601826127aa565b506101c08301518482036101c0860152612cb3828261283d565b9150506101e08301518482036101e0860152612ccf828261295e565b915050610200830151848203610200860152612ceb8282612a33565b915050610220830151848203610220860152612d078282612aa9565b9150508091505092915050565b5f612d1f8383612b80565b905092915050565b5f602082019050919050565b5f612d3d826127b9565b612d4781856127c3565b935083602082028501612d59856127d3565b805f5b85811015612d945784840389528151612d758582612d14565b9450612d8083612d27565b925060208a01995050600181019050612d5c565b50829750879550505050505092915050565b5f61010083015f830151612dbc5f8601826127aa565b506020830151612dcf60208601826127aa565b506040830151612de260408601826127aa565b506060830151612df560608601826127aa565b506080830151612e0860808601826127aa565b5060a0830151612e1b60a08601826127aa565b5060c0830151612e2e60c08601826127aa565b5060e083015184820360e0860152612e468282612d33565b9150508091505092915050565b5f6020820190508181035f830152612e6b8184612da6565b905092915050565b5f604082019050612e865f83018561263a565b612e93602083018461263a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612ed1826125dc565b9150612edc836125dc565b9250828201905080821115612ef457612ef3612e9a565b5b92915050565b5f612f04826125dc565b9150612f0f836125dc565b9250828203905081811115612f2757612f26612e9a565b5b9291505056fe',
|
|
4
|
+
42161: '0x60806040527311cdb42b0eb46d95f990bedd4695a6e3fa0349786000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352f541764e6e90eebc5c21ff570de0e2d63766b6600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100b957600080fd5b50604051611b84380380611b8483398181016040528101906100db9190611373565b6000815190506100e9610ffa565b8167ffffffffffffffff811115610103576101026111b3565b5b60405190808252806020026020018201604052801561013c57816020015b61012961100d565b8152602001906001900390816101215790505b508160000181905250600084905060005b83811015610d3957600085828151811061016a576101696113cf565b5b602002602001015190506000816000015190506000826040015190506000836060015190508360000151876000015186815181106101ab576101aa6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836020015173ffffffffffffffffffffffffffffffffffffffff166370a0823185600001516040518263ffffffff1660e01b815260040161022a919061140d565b602060405180830381865afa158015610247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026b919061145e565b87600001518681518110610282576102816113cf565b5b602002602001015160200181815250508273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610301919061145e565b87600001518681518110610318576103176113cf565b5b602002602001015160400181815250508573ffffffffffffffffffffffffffffffffffffffff166360e3d573856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161038792919061148b565b602060405180830381865afa1580156103a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c8919061145e565b876000015186815181106103df576103de6113cf565b5b602002602001015160600181815250508573ffffffffffffffffffffffffffffffffffffffff16635ef1e4b1856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161044e92919061148b565b602060405180830381865afa15801561046b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048f919061145e565b876000015186815181106104a6576104a56113cf565b5b602002602001015160800181815250508573ffffffffffffffffffffffffffffffffffffffff1663bcd53d7b856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040161051592919061148b565b602060405180830381865afa158015610532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610556919061145e565b8760000151868151811061056d5761056c6113cf565b5b602002602001015160a00181815250508573ffffffffffffffffffffffffffffffffffffffff166343fde008856040015160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016105dc92919061148b565b602060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d919061145e565b87600001518681518110610634576106336113cf565b5b602002602001015160c00181815250508173ffffffffffffffffffffffffffffffffffffffff166370a08231600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161069f919061140d565b602060405180830381865afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061145e565b876000015186815181106106f7576106f66113cf565b5b602002602001015160e00181815250508173ffffffffffffffffffffffffffffffffffffffff166313ecb1ca600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610762919061140d565b602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061145e565b876000015186815181106107ba576107b96113cf565b5b60200260200101516101000181815250508173ffffffffffffffffffffffffffffffffffffffff166317e280896040518163ffffffff1660e01b8152600401602060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a919061145e565b87600001518681518110610851576108506113cf565b5b60200260200101516101200181815250508173ffffffffffffffffffffffffffffffffffffffff166333134583600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108bd919061140d565b6020604051808303816000875af11580156108dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610900919061145e565b87600001518681518110610917576109166113cf565b5b60200260200101516101400181815250508073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610997919061145e565b876000015186815181106109ae576109ad6113cf565b5b602002602001015161016001818152505060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a30919061145e565b90508067ffffffffffffffff811115610a4c57610a4b6111b3565b5b604051908082528060200260200182016040528015610a7a5781602001602082028036833780820191505090505b5088600001518781518110610a9257610a916113cf565b5b602002602001015161018001819052508067ffffffffffffffff811115610abc57610abb6111b3565b5b604051908082528060200260200182016040528015610af557816020015b610ae2611099565b815260200190600190039081610ada5790505b5088600001518781518110610b0d57610b0c6113cf565b5b60200260200101516101a0018190525060005b81811015610ce65760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610b6391906114c3565b602060405180830381865afa158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba491906114de565b9050808a600001518981518110610bbe57610bbd6113cf565b5b602002602001015161018001518381518110610bdd57610bdc6113cf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b8152600401610c50919061140d565b60c060405180830381865afa158015610c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9191906115ab565b8a600001518981518110610ca857610ca76113cf565b5b60200260200101516101a001518381518110610cc757610cc66113cf565b5b6020026020010181905250508080610cde90611607565b915050610b20565b50610cfa8560400151610d6960201b60201c565b88600001518781518110610d1157610d106113cf565b5b60200260200101516101c0018190525050505050508080610d3190611607565b91505061014d565b50600082604051602001610d4d9190611b61565b6040516020818303038152906040529050602081018059038082f35b6060600082905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dda57506040513d601f19601f82011682018060405250810190610dd7919061145e565b60015b610de75760009050610dec565b809150505b8067ffffffffffffffff811115610e0657610e056111b3565b5b604051908082528060200260200182016040528015610e3f57816020015b610e2c6110fb565b815260200190600190039081610e245790505b50925060005b81811015610ff25760008373ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b8152600401610e8891906114c3565b602060405180830381865afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906114de565b905080858381518110610edf57610ede6113cf565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166333fd6f74600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610f7a92919061148b565b602060405180830381865afa158015610f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbb919061145e565b858381518110610fce57610fcd6113cf565b5b60200260200101516020018181525050508080610fea90611607565b915050610e45565b505050919050565b6040518060200160405280606081525090565b604051806101e00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116a8261113f565b9050919050565b61117a8161115f565b811461118557600080fd5b50565b60008151905061119781611171565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6111eb826111a2565b810181811067ffffffffffffffff8211171561120a576112096111b3565b5b80604052505050565b600061121d61112b565b905061122982826111e2565b919050565b600067ffffffffffffffff821115611249576112486111b3565b5b602082029050602081019050919050565b600080fd5b600080fd5b60006080828403121561127a5761127961125f565b5b6112846080611213565b9050600061129484828501611188565b60008301525060206112a884828501611188565b60208301525060406112bc84828501611188565b60408301525060606112d084828501611188565b60608301525092915050565b60006112ef6112ea8461122e565b611213565b905080838252602082019050608084028301858111156113125761131161125a565b5b835b8181101561133b57806113278882611264565b845260208401935050608081019050611314565b5050509392505050565b600082601f83011261135a5761135961119d565b5b815161136a8482602086016112dc565b91505092915050565b6000806040838503121561138a57611389611135565b5b600061139885828601611188565b925050602083015167ffffffffffffffff8111156113b9576113b861113a565b5b6113c585828601611345565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6114078161115f565b82525050565b600060208201905061142260008301846113fe565b92915050565b6000819050919050565b61143b81611428565b811461144657600080fd5b50565b60008151905061145881611432565b92915050565b60006020828403121561147457611473611135565b5b600061148284828501611449565b91505092915050565b60006040820190506114a060008301856113fe565b6114ad60208301846113fe565b9392505050565b6114bd81611428565b82525050565b60006020820190506114d860008301846114b4565b92915050565b6000602082840312156114f4576114f3611135565b5b600061150284828501611188565b91505092915050565b600060c082840312156115215761152061125f565b5b61152b60c0611213565b9050600061153b84828501611188565b600083015250602061154f84828501611188565b602083015250604061156384828501611449565b604083015250606061157784828501611449565b606083015250608061158b84828501611449565b60808301525060a061159f84828501611449565b60a08301525092915050565b600060c082840312156115c1576115c0611135565b5b60006115cf8482850161150b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061161282611428565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611644576116436115d8565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6116848161115f565b82525050565b61169381611428565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006116d1838361167b565b60208301905092915050565b6000602082019050919050565b60006116f582611699565b6116ff81856116a4565b935061170a836116b5565b8060005b8381101561173b57815161172288826116c5565b975061172d836116dd565b92505060018101905061170e565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60c08201600082015161178a600085018261167b565b50602082015161179d602085018261167b565b5060408201516117b0604085018261168a565b5060608201516117c3606085018261168a565b5060808201516117d6608085018261168a565b5060a08201516117e960a085018261168a565b50505050565b60006117fb8383611774565b60c08301905092915050565b6000602082019050919050565b600061181f82611748565b6118298185611753565b935061183483611764565b8060005b8381101561186557815161184c88826117ef565b975061185783611807565b925050600181019050611838565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6040820160008201516118b4600085018261167b565b5060208201516118c7602085018261168a565b50505050565b60006118d9838361189e565b60408301905092915050565b6000602082019050919050565b60006118fd82611872565b611907818561187d565b93506119128361188e565b8060005b8381101561194357815161192a88826118cd565b9750611935836118e5565b925050600181019050611916565b5085935050505092915050565b60006101e083016000830151611969600086018261167b565b50602083015161197c602086018261168a565b50604083015161198f604086018261168a565b5060608301516119a2606086018261168a565b5060808301516119b5608086018261168a565b5060a08301516119c860a086018261168a565b5060c08301516119db60c086018261168a565b5060e08301516119ee60e086018261168a565b50610100830151611a0361010086018261168a565b50610120830151611a1861012086018261168a565b50610140830151611a2d61014086018261168a565b50610160830151611a4261016086018261168a565b50610180830151848203610180860152611a5c82826116ea565b9150506101a08301518482036101a0860152611a788282611814565b9150506101c08301518482036101c0860152611a9482826118f2565b9150508091505092915050565b6000611aad8383611950565b905092915050565b6000602082019050919050565b6000611acd8261164f565b611ad7818561165a565b935083602082028501611ae98561166b565b8060005b85811015611b255784840389528151611b068582611aa1565b9450611b1183611ab5565b925060208a01995050600181019050611aed565b50829750879550505050505092915050565b60006020830160008301518482036000860152611b548282611ac2565b9150508091505092915050565b60006020820190508181036000830152611b7b8184611b37565b90509291505056fe',
|
|
5
|
+
},
|
|
6
|
+
inputType: {
|
|
7
|
+
1: [
|
|
8
|
+
'address _convexMinimalProxyFactory, address _strategy, address _gaugeController, CurveStategyInfo[] inputs',
|
|
9
|
+
'struct CurveStategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
|
|
10
|
+
],
|
|
11
|
+
42161: [
|
|
12
|
+
'address _feeRegistry, StategyInfo[] memory inputs',
|
|
13
|
+
'struct StategyInfo { address vault; address token; address liquidityGauge; address sdtLiquidityGauge; }',
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
outputTypeHr: {
|
|
17
|
+
1: [
|
|
18
|
+
'CurveReturnData returnData',
|
|
19
|
+
'struct CurveReturnData { uint256 cvxTotalSupply; uint256 veCrvTotalSupply; uint256 stakeDaoVeBoost; uint256 convexVeBoost; uint256 totalGaugeWeights; uint256 nextEffectiveTimestamp; uint256 claimerFee; CurveStratsData[] curveStratsData; }',
|
|
20
|
+
'struct CurveRewardToken { address token; uint256 claimable; }',
|
|
21
|
+
'struct Onlyboost { bool active; address convexImpl; uint256 totalSupply; uint256 stakeDaoSupply; uint256 convexSupply; uint256 convexStrategyHoldings; uint256 convexWorkingBalance; uint256 stakeDaoOptSupply; uint256 convexOptSupply; CurveRewardToken[] claimableData; }',
|
|
22
|
+
'struct CurveStratsData { address vault; uint256 vaultHoldings; uint256 totalSupply; uint256 accumulatedFees; uint256 keeperFee; uint256 strategyHoldings; uint256 workingBalance; uint256 curveGaugeTotalSupply; uint256 workingSupplyStaked; uint256 claimablePendingRewards; uint256 gaugeRelativeWeight; uint256 gaugeWeight; uint256 sdWorkingSupply; uint256 sdGaugeTotalSupply; address[] rewardsTokens; RewardData[] rewardsData; CurveRewardToken[] claimableData; Onlyboost onlyboost; }',
|
|
23
|
+
'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
|
|
24
|
+
],
|
|
25
|
+
42161: [
|
|
26
|
+
'CurveReturnData returnData',
|
|
27
|
+
'struct CurveReturnData { CurveStratsData[] curveStratsData; }',
|
|
28
|
+
'struct CurveRewardToken { address token; uint256 claimable; }',
|
|
29
|
+
'struct CurveStratsData { address vault; uint256 vaultHoldings; uint256 totalSupply; uint256 veSDTFee; uint256 perfFee; uint256 accumulatorFee; uint256 claimerFee; uint256 strategyHoldings; uint256 workingBalance; uint256 workingSupplyStaked; uint256 claimablePendingRewards; uint256 sdGaugeTotalSupply; address[] rewardsTokens; RewardData[] rewardsData; CurveRewardToken[] claimableData; }',
|
|
30
|
+
'struct RewardData { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
outputType: {
|
|
34
|
+
1: [
|
|
35
|
+
{
|
|
36
|
+
type: 'tuple',
|
|
37
|
+
name: 'returnData',
|
|
38
|
+
components: [
|
|
39
|
+
{ type: 'uint256', name: 'cvxTotalSupply' },
|
|
40
|
+
{ type: 'uint256', name: 'veCrvTotalSupply' },
|
|
41
|
+
{ type: 'uint256', name: 'stakeDaoVeBoost' },
|
|
42
|
+
{ type: 'uint256', name: 'convexVeBoost' },
|
|
43
|
+
{ type: 'uint256', name: 'totalGaugeWeights' },
|
|
44
|
+
{ type: 'uint256', name: 'nextEffectiveTimestamp' },
|
|
45
|
+
{ type: 'uint256', name: 'claimerFee' },
|
|
46
|
+
{
|
|
47
|
+
type: 'tuple[]',
|
|
48
|
+
name: 'curveStratsData',
|
|
49
|
+
components: [
|
|
50
|
+
{ type: 'address', name: 'vault' },
|
|
51
|
+
{ type: 'uint256', name: 'vaultHoldings' },
|
|
52
|
+
{ type: 'uint256', name: 'totalSupply' },
|
|
53
|
+
{ type: 'uint256', name: 'accumulatedFees' },
|
|
54
|
+
{ type: 'uint256', name: 'keeperFee' },
|
|
55
|
+
{ type: 'uint256', name: 'strategyHoldings' },
|
|
56
|
+
{ type: 'uint256', name: 'workingBalance' },
|
|
57
|
+
{ type: 'uint256', name: 'curveGaugeTotalSupply' },
|
|
58
|
+
{ type: 'uint256', name: 'workingSupplyStaked' },
|
|
59
|
+
{ type: 'uint256', name: 'claimablePendingRewards' },
|
|
60
|
+
{ type: 'uint256', name: 'gaugeRelativeWeight' },
|
|
61
|
+
{ type: 'uint256', name: 'gaugeWeight' },
|
|
62
|
+
{ type: 'uint256', name: 'sdWorkingSupply' },
|
|
63
|
+
{ type: 'uint256', name: 'sdGaugeTotalSupply' },
|
|
64
|
+
{ type: 'address[]', name: 'rewardsTokens' },
|
|
65
|
+
{
|
|
66
|
+
type: 'tuple[]',
|
|
67
|
+
name: 'rewardsData',
|
|
68
|
+
components: [
|
|
69
|
+
{ type: 'address', name: 'token' },
|
|
70
|
+
{ type: 'address', name: 'distributor' },
|
|
71
|
+
{ type: 'uint256', name: 'period_finish' },
|
|
72
|
+
{ type: 'uint256', name: 'rate' },
|
|
73
|
+
{ type: 'uint256', name: 'last_update' },
|
|
74
|
+
{ type: 'uint256', name: 'integral' },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: 'tuple[]',
|
|
79
|
+
name: 'claimableData',
|
|
80
|
+
components: [
|
|
81
|
+
{ type: 'address', name: 'token' },
|
|
82
|
+
{ type: 'uint256', name: 'claimable' },
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'tuple',
|
|
87
|
+
name: 'onlyboost',
|
|
88
|
+
components: [
|
|
89
|
+
{ type: 'bool', name: 'active' },
|
|
90
|
+
{ type: 'address', name: 'convexImpl' },
|
|
91
|
+
{ type: 'uint256', name: 'totalSupply' },
|
|
92
|
+
{ type: 'uint256', name: 'stakeDaoSupply' },
|
|
93
|
+
{ type: 'uint256', name: 'convexSupply' },
|
|
94
|
+
{ type: 'uint256', name: 'convexStrategyHoldings' },
|
|
95
|
+
{ type: 'uint256', name: 'convexWorkingBalance' },
|
|
96
|
+
{ type: 'uint256', name: 'stakeDaoOptSupply' },
|
|
97
|
+
{ type: 'uint256', name: 'convexOptSupply' },
|
|
98
|
+
{
|
|
99
|
+
type: 'tuple[]',
|
|
100
|
+
name: 'claimableData',
|
|
101
|
+
components: [
|
|
102
|
+
{ type: 'address', name: 'token' },
|
|
103
|
+
{ type: 'uint256', name: 'claimable' },
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
42161: [
|
|
114
|
+
{
|
|
115
|
+
type: 'tuple',
|
|
116
|
+
name: 'returnData',
|
|
117
|
+
components: [
|
|
118
|
+
{
|
|
119
|
+
type: 'tuple[]',
|
|
120
|
+
name: 'curveStratsData',
|
|
121
|
+
components: [
|
|
122
|
+
{ type: 'address', name: 'vault' },
|
|
123
|
+
{ type: 'uint256', name: 'vaultHoldings' },
|
|
124
|
+
{ type: 'uint256', name: 'totalSupply' },
|
|
125
|
+
{ type: 'uint256', name: 'veSDTFee' },
|
|
126
|
+
{ type: 'uint256', name: 'perfFee' },
|
|
127
|
+
{ type: 'uint256', name: 'accumulatorFee' },
|
|
128
|
+
{ type: 'uint256', name: 'claimerFee' },
|
|
129
|
+
{ type: 'uint256', name: 'strategyHoldings' },
|
|
130
|
+
{ type: 'uint256', name: 'workingBalance' },
|
|
131
|
+
{ type: 'uint256', name: 'workingSupplyStaked' },
|
|
132
|
+
{ type: 'uint256', name: 'claimablePendingRewards' },
|
|
133
|
+
{ type: 'uint256', name: 'sdGaugeTotalSupply' },
|
|
134
|
+
{ type: 'address[]', name: 'rewardsTokens' },
|
|
135
|
+
{
|
|
136
|
+
type: 'tuple[]',
|
|
137
|
+
name: 'rewardsData',
|
|
138
|
+
components: [
|
|
139
|
+
{ type: 'address', name: 'token' },
|
|
140
|
+
{ type: 'address', name: 'distributor' },
|
|
141
|
+
{ type: 'uint256', name: 'period_finish' },
|
|
142
|
+
{ type: 'uint256', name: 'rate' },
|
|
143
|
+
{ type: 'uint256', name: 'last_update' },
|
|
144
|
+
{ type: 'uint256', name: 'integral' },
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'tuple[]',
|
|
149
|
+
name: 'claimableData',
|
|
150
|
+
components: [
|
|
151
|
+
{ type: 'address', name: 'token' },
|
|
152
|
+
{ type: 'uint256', name: 'claimable' },
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
export default curveStrats;
|
|
163
|
+
//# sourceMappingURL=curveStrats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curveStrats.js","sourceRoot":"","sources":["../../../src/batches/curveStrats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/batches/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const commonInputType = ['address[] vaults'];
|
|
2
|
+
const commonOutputType = [
|
|
3
|
+
'ReturnData[] returnData',
|
|
4
|
+
'struct ReturnData { address gauge; Erc20Data[] rewards; }',
|
|
5
|
+
'struct Erc20Data { string name; string symbol; address tokenAddress; uint256 decimals; }',
|
|
6
|
+
];
|
|
7
|
+
const sdtGaugeRewards = {
|
|
8
|
+
bytecode: {
|
|
9
|
+
1: '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663f9a0be686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
|
|
10
|
+
42161: '0x608060405234801561001057600080fd5b50604051610d2a380380610d2a833981810160405281019061003291906107a7565b60008151905060008167ffffffffffffffff81111561005457610053610606565b5b60405190808252806020026020018201604052801561008d57816020015b61007a61056e565b8152602001906001900390816100725790505b50905060005b8281101561053e5760008482815181106100b0576100af6107f0565b5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663b11ac5396040518163ffffffff1660e01b8152600401602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b919061081f565b9050600081905060008173ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a39190610882565b905060008167ffffffffffffffff8111156101c1576101c0610606565b5b6040519080825280602002602001820160405280156101fa57816020015b6101e761059e565b8152602001906001900390816101df5790505b50905060005b828110156104b05760008473ffffffffffffffffffffffffffffffffffffffff166354c49fe9836040518263ffffffff1660e01b815260040161024391906108be565b602060405180830381865afa158015610260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610284919061081f565b905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102ff91906109a9565b848481518110610312576103116107f0565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061039591906109a9565b8484815181106103a8576103a76107f0565b5b602002602001015160200181905250818484815181106103cb576103ca6107f0565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104789190610882565b84848151811061048b5761048a6107f0565b5b60200260200101516060018181525050505080806104a890610a21565b915050610200565b50838787815181106104c5576104c46107f0565b5b60200260200101516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080878781518110610517576105166107f0565b5b6020026020010151602001819052505050505050808061053690610a21565b915050610093565b506000816040516020016105529190610d07565b6040516020818303038152906040529050602081018059038082f35b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61063e826105f5565b810181811067ffffffffffffffff8211171561065d5761065c610606565b5b80604052505050565b60006106706105dc565b905061067c8282610635565b919050565b600067ffffffffffffffff82111561069c5761069b610606565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106dd826106b2565b9050919050565b6106ed816106d2565b81146106f857600080fd5b50565b60008151905061070a816106e4565b92915050565b600061072361071e84610681565b610666565b90508083825260208201905060208402830185811115610746576107456106ad565b5b835b8181101561076f578061075b88826106fb565b845260208401935050602081019050610748565b5050509392505050565b600082601f83011261078e5761078d6105f0565b5b815161079e848260208601610710565b91505092915050565b6000602082840312156107bd576107bc6105e6565b5b600082015167ffffffffffffffff8111156107db576107da6105eb565b5b6107e784828501610779565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215610835576108346105e6565b5b6000610843848285016106fb565b91505092915050565b6000819050919050565b61085f8161084c565b811461086a57600080fd5b50565b60008151905061087c81610856565b92915050565b600060208284031215610898576108976105e6565b5b60006108a68482850161086d565b91505092915050565b6108b88161084c565b82525050565b60006020820190506108d360008301846108af565b92915050565b600080fd5b600067ffffffffffffffff8211156108f9576108f8610606565b5b610902826105f5565b9050602081019050919050565b60005b8381101561092d578082015181840152602081019050610912565b60008484015250505050565b600061094c610947846108de565b610666565b905082815260208101848484011115610968576109676108d9565b5b61097384828561090f565b509392505050565b600082601f8301126109905761098f6105f0565b5b81516109a0848260208601610939565b91505092915050565b6000602082840312156109bf576109be6105e6565b5b600082015167ffffffffffffffff8111156109dd576109dc6105eb565b5b6109e98482850161097b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a2c8261084c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610a5e57610a5d6109f2565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610a9e816106d2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000610af782610ad0565b610b018185610adb565b9350610b1181856020860161090f565b610b1a816105f5565b840191505092915050565b610b2e8161084c565b82525050565b60006080830160008301518482036000860152610b518282610aec565b91505060208301518482036020860152610b6b8282610aec565b9150506040830151610b806040860182610a95565b506060830151610b936060860182610b25565b508091505092915050565b6000610baa8383610b34565b905092915050565b6000602082019050919050565b6000610bca82610aa4565b610bd48185610aaf565b935083602082028501610be685610ac0565b8060005b85811015610c225784840389528151610c038582610b9e565b9450610c0e83610bb2565b925060208a01995050600181019050610bea565b50829750879550505050505092915050565b6000604083016000830151610c4c6000860182610a95565b5060208301518482036020860152610c648282610bbf565b9150508091505092915050565b6000610c7d8383610c34565b905092915050565b6000602082019050919050565b6000610c9d82610a69565b610ca78185610a74565b935083602082028501610cb985610a85565b8060005b85811015610cf55784840389528151610cd68582610c71565b9450610ce183610c85565b925060208a01995050600181019050610cbd565b50829750879550505050505092915050565b60006020820190508181036000830152610d218184610c92565b90509291505056fe',
|
|
11
|
+
},
|
|
12
|
+
inputType: {
|
|
13
|
+
1: commonInputType,
|
|
14
|
+
42161: commonInputType,
|
|
15
|
+
},
|
|
16
|
+
outputTypeHr: {
|
|
17
|
+
1: commonOutputType,
|
|
18
|
+
42161: commonOutputType,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export default sdtGaugeRewards;
|
|
22
|
+
//# sourceMappingURL=sdtGaugeRewards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdtGaugeRewards.js","sourceRoot":"","sources":["../../../src/batches/sdtGaugeRewards.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,gBAAgB,GAAG;IACvB,yBAAyB;IACzB,2DAA2D;IAC3D,0FAA0F;CAC3F,CAAA;AAED,MAAM,eAAe,GAAkB;IACrC,QAAQ,EAAE;QACR,CAAC,EAAE,wlNAAwlN;QAC3lN,KAAK,EACH,wlNAAwlN;KAC3lN;IACD,SAAS,EAAE;QACT,CAAC,EAAE,eAAe;QAClB,KAAK,EAAE,eAAe;KACvB;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,gBAAgB;QACnB,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const commonBytecode = '0x608060405234801561001057600080fd5b5060405161094a38038061094a8339818101604052810190610032919061051d565b60008151905060008167ffffffffffffffff8111156100545761005361037c565b5b60405190808252806020026020018201604052801561008d57816020015b61007a610314565b8152602001906001900390816100725790505b50905060005b828110156102e45760008482815181106100b0576100af610566565b5b6020026020010151905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101339190610665565b84848151811061014657610145610566565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101c99190610665565b8484815181106101dc576101db610566565b5b602002602001015160200181905250818484815181106101ff576101fe610566565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ac91906106e4565b8484815181106102bf576102be610566565b5b60200260200101516060018181525050505080806102dc90610740565b915050610093565b506000816040516020016102f89190610927565b6040516020818303038152906040529050602081018059038082f35b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103b48261036b565b810181811067ffffffffffffffff821117156103d3576103d261037c565b5b80604052505050565b60006103e6610352565b90506103f282826103ab565b919050565b600067ffffffffffffffff8211156104125761041161037c565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061045382610428565b9050919050565b61046381610448565b811461046e57600080fd5b50565b6000815190506104808161045a565b92915050565b6000610499610494846103f7565b6103dc565b905080838252602082019050602084028301858111156104bc576104bb610423565b5b835b818110156104e557806104d18882610471565b8452602084019350506020810190506104be565b5050509392505050565b600082601f83011261050457610503610366565b5b8151610514848260208601610486565b91505092915050565b6000602082840312156105335761053261035c565b5b600082015167ffffffffffffffff81111561055157610550610361565b5b61055d848285016104ef565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600067ffffffffffffffff8211156105b5576105b461037c565b5b6105be8261036b565b9050602081019050919050565b60005b838110156105e95780820151818401526020810190506105ce565b60008484015250505050565b60006106086106038461059a565b6103dc565b90508281526020810184848401111561062457610623610595565b5b61062f8482856105cb565b509392505050565b600082601f83011261064c5761064b610366565b5b815161065c8482602086016105f5565b91505092915050565b60006020828403121561067b5761067a61035c565b5b600082015167ffffffffffffffff81111561069957610698610361565b5b6106a584828501610637565b91505092915050565b6000819050919050565b6106c1816106ae565b81146106cc57600080fd5b50565b6000815190506106de816106b8565b92915050565b6000602082840312156106fa576106f961035c565b5b6000610708848285016106cf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061074b826106ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361077d5761077c610711565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006107db826107b4565b6107e581856107bf565b93506107f58185602086016105cb565b6107fe8161036b565b840191505092915050565b61081281610448565b82525050565b610821816106ae565b82525050565b6000608083016000830151848203600086015261084482826107d0565b9150506020830151848203602086015261085e82826107d0565b91505060408301516108736040860182610809565b5060608301516108866060860182610818565b508091505092915050565b600061089d8383610827565b905092915050565b6000602082019050919050565b60006108bd82610788565b6108c78185610793565b9350836020820285016108d9856107a4565b8060005b8581101561091557848403895281516108f68582610891565b9450610901836108a5565b925060208a019950506001810190506108dd565b50829750879550505050505092915050565b6000602082019050818103600083015261094181846108b2565b90509291505056fe';
|
|
2
|
+
const commonInputType = ['address[] inputs'];
|
|
3
|
+
const commonOutputType = [
|
|
4
|
+
'Erc20Data[] erc20data',
|
|
5
|
+
'struct Erc20Data { string name; string symbol; address tokenAddress; uint256 decimals; }',
|
|
6
|
+
];
|
|
7
|
+
const tokenData = {
|
|
8
|
+
bytecode: {
|
|
9
|
+
1: commonBytecode,
|
|
10
|
+
42161: commonBytecode,
|
|
11
|
+
},
|
|
12
|
+
inputType: {
|
|
13
|
+
1: commonInputType,
|
|
14
|
+
42161: commonInputType,
|
|
15
|
+
},
|
|
16
|
+
outputTypeHr: {
|
|
17
|
+
1: commonOutputType,
|
|
18
|
+
42161: commonOutputType,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export default tokenData;
|
|
22
|
+
//# sourceMappingURL=tokenData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenData.js","sourceRoot":"","sources":["../../../src/batches/tokenData.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAClB,wpJAAwpJ,CAAA;AAC1pJ,MAAM,eAAe,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,gBAAgB,GAAG;IACvB,uBAAuB;IACvB,0FAA0F;CAC3F,CAAA;AAED,MAAM,SAAS,GAAkB;IAC/B,QAAQ,EAAE;QACR,CAAC,EAAE,cAAc;QACjB,KAAK,EAAE,cAAc;KACtB;IACD,SAAS,EAAE;QACT,CAAC,EAAE,eAAe;QAClB,KAAK,EAAE,eAAe;KACvB;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,gBAAgB;QACnB,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/batches/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../src/endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gDAAgD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { fetchCurve } from './strategies/curve/fetch/index.js';
|
|
2
|
+
export { fetchCurveBase } from './strategies/curve/fetch/curveApiData/getCurveApiData.js';
|
|
3
|
+
export { getGaugesWeights } from './strategies/curve/fetch/curveApiData/getGaugesWeights.js';
|
|
4
|
+
export { getGaugesFromRegistry } from './strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js';
|
|
5
|
+
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
|
|
6
|
+
export { fetchSdt } from './sdt/sdt.js';
|
|
7
|
+
export * from './strategies/utils/index.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { formatUnits } from 'viem';
|
|
2
|
+
export const getString = (data, nbDecimals = 2) => {
|
|
3
|
+
if (typeof data === 'string') {
|
|
4
|
+
return data;
|
|
5
|
+
}
|
|
6
|
+
return data ? Number(data).toFixed(nbDecimals) : 0;
|
|
7
|
+
};
|
|
8
|
+
export const getFixedNumber = (amount, reduce = false) => {
|
|
9
|
+
const earningsNumber = reduce ? Number(formatUnits(BigInt(amount), 18)) : Number(amount);
|
|
10
|
+
if (earningsNumber > 0 && earningsNumber < 1) {
|
|
11
|
+
const indexNotZero = earningsNumber.toString().match('[1-9]');
|
|
12
|
+
return indexNotZero?.index ? indexNotZero.index - 2 + 4 : 4;
|
|
13
|
+
}
|
|
14
|
+
if (earningsNumber >= 1 && earningsNumber < 100) {
|
|
15
|
+
return 2;
|
|
16
|
+
}
|
|
17
|
+
if (earningsNumber >= 100 && earningsNumber < 1000) {
|
|
18
|
+
return 2;
|
|
19
|
+
}
|
|
20
|
+
return 0;
|
|
21
|
+
};
|
|
22
|
+
export const fixed = (nb, decimals) => {
|
|
23
|
+
const fixedTo = decimals ? decimals : getFixedNumber(nb);
|
|
24
|
+
return Number(nb).toLocaleString('en-US', {
|
|
25
|
+
minimumFractionDigits: fixedTo,
|
|
26
|
+
maximumFractionDigits: fixedTo,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
export const formatUsd = (number) => {
|
|
30
|
+
const nb = typeof number === 'string' ? Number(number) : number;
|
|
31
|
+
if (nb > 1000000000) {
|
|
32
|
+
return `${getString(nb / 1000000000, 2)}B`;
|
|
33
|
+
}
|
|
34
|
+
if (nb > 1000000) {
|
|
35
|
+
return `${getString(nb / 1000000, 2)}M`;
|
|
36
|
+
}
|
|
37
|
+
if (nb > 1000) {
|
|
38
|
+
return `${getString(nb / 1000, 2)}k`;
|
|
39
|
+
}
|
|
40
|
+
return fixed(number.toString());
|
|
41
|
+
};
|
|
42
|
+
export const withTwoDec = (num) => {
|
|
43
|
+
return (Math.floor(num * 100) / 100).toFixed(2);
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAS,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACxF,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7D,OAAO,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,QAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IACxD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QACxC,qBAAqB,EAAE,OAAO;QAC9B,qBAAqB,EAAE,OAAO;KAC/B,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAuB,EAAE,EAAE;IACnD,MAAM,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE/D,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;QACpB,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,GAAG,CAAA;IAC5C,CAAC;IACD,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACjB,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,CAAA;IACzC,CAAC;IACD,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAA;IACtC,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { uniq } from 'lodash-es';
|
|
2
|
+
const LLAMA_API_URL = 'https://coins.llama.fi';
|
|
3
|
+
const GECKO_TERMINAL_API_URL = 'https://api.geckoterminal.com/api/v2';
|
|
4
|
+
export const getLlamaTokenPrefix = (chainId = 1) => {
|
|
5
|
+
switch (chainId) {
|
|
6
|
+
case 1:
|
|
7
|
+
return 'ethereum';
|
|
8
|
+
case 137:
|
|
9
|
+
return 'polygon';
|
|
10
|
+
case 42161:
|
|
11
|
+
return 'arbitrum';
|
|
12
|
+
case 56:
|
|
13
|
+
return 'bsc';
|
|
14
|
+
default:
|
|
15
|
+
return 'ethereum';
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export const getPricesFromLlama = async (tokens, chainId = 1, defaultErrorValue) => {
|
|
19
|
+
try {
|
|
20
|
+
const prefix = getLlamaTokenPrefix(chainId);
|
|
21
|
+
const httpArgs = uniq(tokens.map((t) => `${prefix}:${t.address}`)).toString();
|
|
22
|
+
const httpRequest = await (await fetch(`${LLAMA_API_URL}/prices/current/${httpArgs}`)).json();
|
|
23
|
+
const coinsData = httpRequest.coins;
|
|
24
|
+
const parsedPrice = tokens.map((t) => {
|
|
25
|
+
return {
|
|
26
|
+
symbol: t.symbol,
|
|
27
|
+
address: t.address,
|
|
28
|
+
usdPrice: coinsData[`${prefix}:${t.address}`] ? coinsData[`${prefix}:${t.address}`].price : 0,
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
return parsedPrice;
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.error(e);
|
|
35
|
+
return defaultErrorValue;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export const getPricesFromCurve = async (chainId) => {
|
|
39
|
+
const prefix = getLlamaTokenPrefix(chainId);
|
|
40
|
+
const httpRequest = (await fetch(`https://prices.curve.fi/v1/usd_price/${prefix}`)).json();
|
|
41
|
+
return httpRequest;
|
|
42
|
+
};
|
|
43
|
+
export const getPricesFromGeckoTerminal = async (tokens, chainId = 1, defaultErrorValue) => {
|
|
44
|
+
try {
|
|
45
|
+
let network;
|
|
46
|
+
switch (chainId) {
|
|
47
|
+
case 1:
|
|
48
|
+
network = 'eth';
|
|
49
|
+
break;
|
|
50
|
+
case 137:
|
|
51
|
+
network = 'polygon_pos';
|
|
52
|
+
break;
|
|
53
|
+
case 42161:
|
|
54
|
+
network = 'arbitrum';
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
network = 'eth';
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
const httpArgs = uniq(tokens).join(',');
|
|
61
|
+
const httpRequest = await (await fetch(`${GECKO_TERMINAL_API_URL}/simple/networks/${network}/token_price/${httpArgs}`)).json();
|
|
62
|
+
const coinsData = httpRequest.data.attributes.token_prices;
|
|
63
|
+
return coinsData;
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
console.error(e);
|
|
67
|
+
return defaultErrorValue;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=prices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prices.js","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { formatUnits, parseAbi, parseUnits } from 'viem';
|
|
2
|
+
import { ONE_DAY, contracts, tokenWithId } from '@stake-dao/constants';
|
|
3
|
+
import { Zero } from '../index.js';
|
|
4
|
+
import {} from '../prices.js';
|
|
5
|
+
import { agnostic, multicall } from '../utils.js';
|
|
6
|
+
import veSdtAlternativeYields from './veSdtAlternativeYields.js';
|
|
7
|
+
const AGNOSTIC_QUERY = (timeLimit) => `
|
|
8
|
+
select
|
|
9
|
+
input_0_value_uint256 as time,
|
|
10
|
+
input_1_value_uint256 as tokens
|
|
11
|
+
from evm_events_ethereum_mainnet
|
|
12
|
+
where
|
|
13
|
+
address = '${contracts.veSdtFeeDistributor[1]}' and
|
|
14
|
+
input_1_value_uint256 != '0' and
|
|
15
|
+
input_0_value_uint256 > '${timeLimit}' and
|
|
16
|
+
signature = 'CheckpointToken(uint256,uint256)'
|
|
17
|
+
ORDER BY time DESC
|
|
18
|
+
`;
|
|
19
|
+
export const fetchSdt = async (prices, provider, agnosticKey) => {
|
|
20
|
+
const sdtToken = tokenWithId('sdt');
|
|
21
|
+
const frax3CrvToken = tokenWithId('frax3crv');
|
|
22
|
+
const now = Math.ceil(new Date().getTime() / 1000);
|
|
23
|
+
const lastCheck = now - ONE_DAY * 28;
|
|
24
|
+
let agnosticData = null;
|
|
25
|
+
if (agnosticKey) {
|
|
26
|
+
const httpCalls = [await agnostic(AGNOSTIC_QUERY(lastCheck), agnosticKey)];
|
|
27
|
+
const httpResponses = (await Promise.allSettled(httpCalls))
|
|
28
|
+
.flatMap((d) => (d.status === 'fulfilled' ? d.value : d.reason))
|
|
29
|
+
.flat();
|
|
30
|
+
agnosticData = httpResponses[0];
|
|
31
|
+
}
|
|
32
|
+
const rawSdtData = await multicall(provider, [
|
|
33
|
+
{ address: contracts.sdFrx3CrvVault[1], name: 'getPricePerFullShare' },
|
|
34
|
+
{ address: sdtToken.address, name: 'balanceOf', params: [contracts.veSdt[1]] },
|
|
35
|
+
{ address: sdtToken.address, name: 'balanceOf', params: [contracts.vestedSdt[1]] },
|
|
36
|
+
{ address: sdtToken.address, name: 'totalSupply' },
|
|
37
|
+
{ address: contracts.veSdt[1], name: 'totalSupply' },
|
|
38
|
+
{
|
|
39
|
+
address: contracts.veSdtBoostDelegation[1],
|
|
40
|
+
name: 'received_balance',
|
|
41
|
+
params: [contracts.voteBoosterStrategy[1]],
|
|
42
|
+
},
|
|
43
|
+
{ address: contracts.liquidLockersGaugeController[1], name: 'get_total_weight' },
|
|
44
|
+
{ address: contracts.sdGaugeController[1], name: 'get_total_weight' },
|
|
45
|
+
], parseAbi([
|
|
46
|
+
'function getPricePerFullShare() external view returns (uint256)',
|
|
47
|
+
'function balanceOf(address user) external view returns (uint256)',
|
|
48
|
+
'function totalSupply() external view returns (uint256)',
|
|
49
|
+
'function received_balance(address user) external view returns (uint256)',
|
|
50
|
+
'function get_total_weight() external view returns (uint256)',
|
|
51
|
+
]));
|
|
52
|
+
const vaultRatio = rawSdtData[0].result;
|
|
53
|
+
const lockedSdtBalance = rawSdtData[1].result;
|
|
54
|
+
const vestedSdtBalance = rawSdtData[2].result;
|
|
55
|
+
const sdtTotalSupply = rawSdtData[3].result;
|
|
56
|
+
const veSdtTotalSupply = rawSdtData[4].result;
|
|
57
|
+
const voteBoosterVeSdt = rawSdtData[5].result;
|
|
58
|
+
const sdtPrice = prices?.find((p) => p.address.toLowerCase() === sdtToken.address.toLowerCase())?.usdPrice || 0;
|
|
59
|
+
const frax3CrvPrice = prices?.find((p) => p.address.toLowerCase() === frax3CrvToken.address.toLowerCase())?.usdPrice || 0;
|
|
60
|
+
const lockedInUsd = parseUnits(`${sdtPrice}`, sdtToken.decimals) * lockedSdtBalance;
|
|
61
|
+
const vestedInUsd = parseUnits(`${sdtPrice}`, sdtToken.decimals) * vestedSdtBalance;
|
|
62
|
+
const percentLocked = parseUnits(formatUnits(lockedSdtBalance, 0), sdtToken.decimals) / sdtTotalSupply;
|
|
63
|
+
const averageLock = (parseUnits(formatUnits(veSdtTotalSupply, 0), sdtToken.decimals) / lockedSdtBalance) * BigInt(4);
|
|
64
|
+
let rewardsAmount = Zero;
|
|
65
|
+
let checkedWeek = now - ONE_DAY * 7;
|
|
66
|
+
let apr = 0;
|
|
67
|
+
if (agnosticData) {
|
|
68
|
+
while (lastCheck <= checkedWeek && rewardsAmount === Zero) {
|
|
69
|
+
const checkedWeekAgnostic = agnosticData ? agnosticData.filter((d) => checkedWeek < Number(d[0])) : null;
|
|
70
|
+
rewardsAmount = checkedWeekAgnostic ? checkedWeekAgnostic.reduce((total, d) => total + BigInt(d[1]), Zero) : Zero;
|
|
71
|
+
checkedWeek = checkedWeek - ONE_DAY * 7;
|
|
72
|
+
}
|
|
73
|
+
apr =
|
|
74
|
+
((frax3CrvPrice * Number(formatUnits(rewardsAmount, 18)) * 52) / Number(formatUnits(vestedInUsd, 18))) *
|
|
75
|
+
Number(vaultRatio);
|
|
76
|
+
}
|
|
77
|
+
const parsedData = {
|
|
78
|
+
alternativeYields: veSdtAlternativeYields,
|
|
79
|
+
veSdtTotalSupply: formatUnits(veSdtTotalSupply, 0),
|
|
80
|
+
locked: formatUnits(lockedSdtBalance, 0),
|
|
81
|
+
lockedInUsd: Number(formatUnits(lockedInUsd, sdtToken.decimals * 2)),
|
|
82
|
+
vestedInUsd: Number(formatUnits(vestedInUsd, sdtToken.decimals * 2)),
|
|
83
|
+
percentLocked: Number(formatUnits(percentLocked, 18)) * 100,
|
|
84
|
+
averageLockInYears: Number(formatUnits(averageLock, 18)),
|
|
85
|
+
apr: apr * 100,
|
|
86
|
+
voteBoosterVeSdt: Number(formatUnits(voteBoosterVeSdt, sdtToken.decimals)),
|
|
87
|
+
lockersTotalWeight: formatUnits(rawSdtData[6].result, 0),
|
|
88
|
+
stratsTotalWeight: formatUnits(rawSdtData[7].result, 0),
|
|
89
|
+
};
|
|
90
|
+
return parsedData;
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=sdt.js.map
|