@gauntlet-xyz/sdk 2.5.0 → 3.1.1
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/README.md +121 -7
- package/dist/api/activity.d.ts +4 -2
- package/dist/api/activity.d.ts.map +1 -1
- package/dist/api/activityRows.d.ts +11 -0
- package/dist/api/activityRows.d.ts.map +1 -0
- package/dist/api/caip.d.ts +1 -1
- package/dist/api/caip.d.ts.map +1 -1
- package/dist/api/client.d.ts +43 -5
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/decimal.d.ts.map +1 -1
- package/dist/api/errors.d.ts +1 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/generated.d.ts +570 -7
- package/dist/api/generated.d.ts.map +1 -1
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/index.d.ts +13 -13
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +47 -8
- package/dist/api/index.js.map +7 -1
- package/dist/api/positionHistory.d.ts +1 -1
- package/dist/api/positionHistory.d.ts.map +1 -1
- package/dist/attribution/index.d.ts +8 -5
- package/dist/attribution/index.d.ts.map +1 -1
- package/dist/chunk-JJOLVL5V.js +546 -0
- package/dist/chunk-JJOLVL5V.js.map +7 -0
- package/dist/chunk-JRSNLXFY.js +2009 -0
- package/dist/chunk-JRSNLXFY.js.map +7 -0
- package/dist/chunk-MEKISE2T.js +367 -0
- package/dist/chunk-MEKISE2T.js.map +7 -0
- package/dist/chunk-YQXTLIJA.js +4477 -0
- package/dist/chunk-YQXTLIJA.js.map +7 -0
- package/dist/cjs/api/activity.d.ts +72 -0
- package/dist/cjs/api/activity.d.ts.map +1 -0
- package/dist/cjs/api/activity.js +138 -0
- package/dist/cjs/api/activity.js.map +7 -0
- package/dist/cjs/api/activityRows.d.ts +11 -0
- package/dist/cjs/api/activityRows.d.ts.map +1 -0
- package/dist/cjs/api/activityRows.js +139 -0
- package/dist/cjs/api/activityRows.js.map +7 -0
- package/dist/cjs/api/caip.d.ts +29 -0
- package/dist/cjs/api/caip.d.ts.map +1 -0
- package/dist/cjs/api/caip.js +61 -0
- package/dist/cjs/api/caip.js.map +7 -0
- package/dist/cjs/api/client.d.ts +173 -0
- package/dist/cjs/api/client.d.ts.map +1 -0
- package/dist/cjs/api/client.js +199 -0
- package/dist/cjs/api/client.js.map +7 -0
- package/dist/cjs/api/decimal.d.ts +21 -0
- package/dist/cjs/api/decimal.d.ts.map +1 -0
- package/dist/cjs/api/decimal.js +61 -0
- package/dist/cjs/api/decimal.js.map +7 -0
- package/dist/cjs/api/errors.d.ts +32 -0
- package/dist/cjs/api/errors.d.ts.map +1 -0
- package/dist/cjs/api/errors.js +80 -0
- package/dist/cjs/api/errors.js.map +7 -0
- package/dist/cjs/api/generated.d.ts +2068 -0
- package/dist/cjs/api/generated.d.ts.map +1 -0
- package/dist/cjs/api/generated.js +17 -0
- package/dist/cjs/api/generated.js.map +7 -0
- package/dist/cjs/api/http.d.ts +16 -0
- package/dist/cjs/api/http.d.ts.map +1 -0
- package/dist/cjs/api/http.js +65 -0
- package/dist/cjs/api/http.js.map +7 -0
- package/dist/cjs/api/index.d.ts +14 -0
- package/dist/cjs/api/index.d.ts.map +1 -0
- package/dist/cjs/api/index.js +73 -0
- package/dist/cjs/api/index.js.map +7 -0
- package/dist/cjs/api/positionHistory.d.ts +44 -0
- package/dist/cjs/api/positionHistory.d.ts.map +1 -0
- package/dist/cjs/api/positionHistory.js +144 -0
- package/dist/cjs/api/positionHistory.js.map +7 -0
- package/dist/cjs/attribution/erc8021.d.ts +9 -0
- package/dist/cjs/attribution/erc8021.d.ts.map +1 -0
- package/dist/cjs/attribution/erc8021.js +37 -0
- package/dist/cjs/attribution/erc8021.js.map +7 -0
- package/dist/cjs/attribution/index.d.ts +28 -0
- package/dist/cjs/attribution/index.d.ts.map +1 -0
- package/dist/cjs/attribution/index.js +70 -0
- package/dist/cjs/attribution/index.js.map +7 -0
- package/dist/cjs/client.d.ts +72 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +80 -0
- package/dist/cjs/client.js.map +7 -0
- package/dist/cjs/constants.d.ts +16 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +83 -0
- package/dist/cjs/constants.js.map +7 -0
- package/dist/cjs/errors.d.ts +85 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +210 -0
- package/dist/cjs/errors.js.map +7 -0
- package/dist/cjs/evm/abis/erc20.d.ts +41 -0
- package/dist/cjs/evm/abis/erc20.d.ts.map +1 -0
- package/dist/cjs/evm/abis/erc20.js +57 -0
- package/dist/cjs/evm/abis/erc20.js.map +7 -0
- package/dist/cjs/evm/abis/erc4626.d.ts +105 -0
- package/dist/cjs/evm/abis/erc4626.d.ts.map +1 -0
- package/dist/cjs/evm/abis/erc4626.js +97 -0
- package/dist/cjs/evm/abis/erc4626.js.map +7 -0
- package/dist/cjs/evm/abis/multiDepositorVault.d.ts +1048 -0
- package/dist/cjs/evm/abis/multiDepositorVault.d.ts.map +1 -0
- package/dist/cjs/evm/abis/multiDepositorVault.js +614 -0
- package/dist/cjs/evm/abis/multiDepositorVault.js.map +7 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts +910 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculator.d.ts.map +1 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculator.js +517 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculator.js.map +7 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts +277 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.d.ts.map +1 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js +166 -0
- package/dist/cjs/evm/abis/priceAndFeeCalculatorV2.js.map +7 -0
- package/dist/cjs/evm/abis/provisioner.d.ts +4984 -0
- package/dist/cjs/evm/abis/provisioner.d.ts.map +1 -0
- package/dist/cjs/evm/abis/provisioner.js +2785 -0
- package/dist/cjs/evm/abis/provisioner.js.map +7 -0
- package/dist/cjs/evm/abis/provisionerV2.d.ts +740 -0
- package/dist/cjs/evm/abis/provisionerV2.d.ts.map +1 -0
- package/dist/cjs/evm/abis/provisionerV2.js +320 -0
- package/dist/cjs/evm/abis/provisionerV2.js.map +7 -0
- package/dist/cjs/evm/adapters/aera.d.ts +6 -0
- package/dist/cjs/evm/adapters/aera.d.ts.map +1 -0
- package/dist/cjs/evm/adapters/aera.js +500 -0
- package/dist/cjs/evm/adapters/aera.js.map +7 -0
- package/dist/cjs/evm/adapters/index.d.ts +3 -0
- package/dist/cjs/evm/adapters/index.d.ts.map +1 -0
- package/dist/cjs/evm/adapters/index.js +41 -0
- package/dist/cjs/evm/adapters/index.js.map +7 -0
- package/dist/cjs/evm/adapters/morpho.d.ts +3 -0
- package/dist/cjs/evm/adapters/morpho.d.ts.map +1 -0
- package/dist/cjs/evm/adapters/morpho.js +103 -0
- package/dist/cjs/evm/adapters/morpho.js.map +7 -0
- package/dist/cjs/evm/adapters/types.d.ts +85 -0
- package/dist/cjs/evm/adapters/types.d.ts.map +1 -0
- package/dist/cjs/evm/adapters/types.js +17 -0
- package/dist/cjs/evm/adapters/types.js.map +7 -0
- package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts +46 -0
- package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -0
- package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js +223 -0
- package/dist/cjs/evm/aeraContracts/priceAndFeeCalculator.js.map +7 -0
- package/dist/cjs/evm/aeraContracts/readOptions.d.ts +8 -0
- package/dist/cjs/evm/aeraContracts/readOptions.d.ts.map +1 -0
- package/dist/cjs/evm/aeraContracts/readOptions.js +31 -0
- package/dist/cjs/evm/aeraContracts/readOptions.js.map +7 -0
- package/dist/cjs/evm/aeraContracts/v1.d.ts +2317 -0
- package/dist/cjs/evm/aeraContracts/v1.d.ts.map +1 -0
- package/dist/cjs/evm/aeraContracts/v1.js +120 -0
- package/dist/cjs/evm/aeraContracts/v1.js.map +7 -0
- package/dist/cjs/evm/aeraContracts/v2.d.ts +4538 -0
- package/dist/cjs/evm/aeraContracts/v2.d.ts.map +1 -0
- package/dist/cjs/evm/aeraContracts/v2.js +449 -0
- package/dist/cjs/evm/aeraContracts/v2.js.map +7 -0
- package/dist/cjs/evm/aeraContracts.d.ts +33 -0
- package/dist/cjs/evm/aeraContracts.d.ts.map +1 -0
- package/dist/cjs/evm/aeraContracts.js +234 -0
- package/dist/cjs/evm/aeraContracts.js.map +7 -0
- package/dist/cjs/evm/deposit.d.ts +51 -0
- package/dist/cjs/evm/deposit.d.ts.map +1 -0
- package/dist/cjs/evm/deposit.js +142 -0
- package/dist/cjs/evm/deposit.js.map +7 -0
- package/dist/cjs/evm/depositQuote.d.ts +32 -0
- package/dist/cjs/evm/depositQuote.d.ts.map +1 -0
- package/dist/cjs/evm/depositQuote.js +97 -0
- package/dist/cjs/evm/depositQuote.js.map +7 -0
- package/dist/cjs/evm/depositReceiverApproval.d.ts +17 -0
- package/dist/cjs/evm/depositReceiverApproval.d.ts.map +1 -0
- package/dist/cjs/evm/depositReceiverApproval.js +71 -0
- package/dist/cjs/evm/depositReceiverApproval.js.map +7 -0
- package/dist/cjs/evm/index.d.ts +28 -0
- package/dist/cjs/evm/index.d.ts.map +1 -0
- package/dist/cjs/evm/index.js +116 -0
- package/dist/cjs/evm/index.js.map +7 -0
- package/dist/cjs/evm/operationMode.d.ts +9 -0
- package/dist/cjs/evm/operationMode.d.ts.map +1 -0
- package/dist/cjs/evm/operationMode.js +65 -0
- package/dist/cjs/evm/operationMode.js.map +7 -0
- package/dist/cjs/evm/tokenModes.d.ts +22 -0
- package/dist/cjs/evm/tokenModes.d.ts.map +1 -0
- package/dist/cjs/evm/tokenModes.js +47 -0
- package/dist/cjs/evm/tokenModes.js.map +7 -0
- package/dist/cjs/evm/types.d.ts +34 -0
- package/dist/cjs/evm/types.d.ts.map +1 -0
- package/dist/cjs/evm/types.js +32 -0
- package/dist/cjs/evm/types.js.map +7 -0
- package/dist/cjs/evm/userCurrentBalance.d.ts +69 -0
- package/dist/cjs/evm/userCurrentBalance.d.ts.map +1 -0
- package/dist/cjs/evm/userCurrentBalance.js +268 -0
- package/dist/cjs/evm/userCurrentBalance.js.map +7 -0
- package/dist/cjs/evm/vaults.d.ts +44 -0
- package/dist/cjs/evm/vaults.d.ts.map +1 -0
- package/dist/cjs/evm/vaults.js +78 -0
- package/dist/cjs/evm/vaults.js.map +7 -0
- package/dist/cjs/evm/withdraw.d.ts +75 -0
- package/dist/cjs/evm/withdraw.d.ts.map +1 -0
- package/dist/cjs/evm/withdraw.js +174 -0
- package/dist/cjs/evm/withdraw.js.map +7 -0
- package/dist/cjs/evm/withdrawQuote.d.ts +135 -0
- package/dist/cjs/evm/withdrawQuote.d.ts.map +1 -0
- package/dist/cjs/evm/withdrawQuote.js +257 -0
- package/dist/cjs/evm/withdrawQuote.js.map +7 -0
- package/dist/cjs/index.d.ts +31 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +128 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/privy/index.d.ts +52 -0
- package/dist/cjs/privy/index.d.ts.map +1 -0
- package/dist/cjs/privy/index.js +57 -0
- package/dist/cjs/privy/index.js.map +7 -0
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/evm/adapters/aera.d.ts +1 -1
- package/dist/evm/adapters/aera.d.ts.map +1 -1
- package/dist/evm/adapters/index.d.ts +1 -1
- package/dist/evm/adapters/index.d.ts.map +1 -1
- package/dist/evm/adapters/morpho.d.ts +1 -1
- package/dist/evm/adapters/morpho.d.ts.map +1 -1
- package/dist/evm/adapters/types.d.ts +6 -3
- package/dist/evm/adapters/types.d.ts.map +1 -1
- package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts +1 -1
- package/dist/evm/aeraContracts/priceAndFeeCalculator.d.ts.map +1 -1
- package/dist/evm/aeraContracts/v1.d.ts +2 -2
- package/dist/evm/aeraContracts/v1.d.ts.map +1 -1
- package/dist/evm/aeraContracts/v2.d.ts +25 -4
- package/dist/evm/aeraContracts/v2.d.ts.map +1 -1
- package/dist/evm/aeraContracts.d.ts +2 -2
- package/dist/evm/aeraContracts.d.ts.map +1 -1
- package/dist/evm/deposit.d.ts +7 -4
- package/dist/evm/deposit.d.ts.map +1 -1
- package/dist/evm/depositQuote.d.ts +32 -0
- package/dist/evm/depositQuote.d.ts.map +1 -0
- package/dist/evm/depositReceiverApproval.d.ts +2 -2
- package/dist/evm/depositReceiverApproval.d.ts.map +1 -1
- package/dist/evm/index.d.ts +27 -25
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +86 -12
- package/dist/evm/index.js.map +7 -1
- package/dist/evm/tokenModes.d.ts +2 -2
- package/dist/evm/tokenModes.d.ts.map +1 -1
- package/dist/evm/userCurrentBalance.d.ts +21 -3
- package/dist/evm/userCurrentBalance.d.ts.map +1 -1
- package/dist/evm/vaults.d.ts +2 -9
- package/dist/evm/vaults.d.ts.map +1 -1
- package/dist/evm/withdraw.d.ts +5 -3
- package/dist/evm/withdraw.d.ts.map +1 -1
- package/dist/evm/withdrawQuote.d.ts +14 -6
- package/dist/evm/withdrawQuote.d.ts.map +1 -1
- package/dist/index.d.ts +30 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -14
- package/dist/index.js.map +7 -1
- package/dist/manifest/vaults.json +1958 -0
- package/dist/privy/index.d.ts +1 -1
- package/dist/privy/index.d.ts.map +1 -1
- package/dist/privy/index.js +39 -48
- package/dist/privy/index.js.map +7 -1
- package/manifest/vaults.json +22 -395
- package/package.json +43 -9
- package/src/api/activity.ts +18 -15
- package/src/api/activityRows.ts +143 -0
- package/src/api/caip.ts +3 -1
- package/src/api/client.ts +105 -6
- package/src/api/decimal.ts +1 -0
- package/src/api/generated.ts +570 -7
- package/src/api/http.ts +1 -0
- package/src/api/index.ts +8 -0
- package/src/api/positionHistory.ts +20 -5
- package/src/attribution/index.ts +6 -2
- package/src/client.ts +4 -1
- package/src/constants.ts +2 -0
- package/src/errors.ts +7 -0
- package/src/evm/adapters/aera.ts +40 -19
- package/src/evm/adapters/types.ts +3 -0
- package/src/evm/aeraContracts/v2.ts +124 -16
- package/src/evm/aeraContracts.ts +29 -14
- package/src/evm/deposit.ts +61 -18
- package/src/evm/depositQuote.ts +138 -0
- package/src/evm/depositReceiverApproval.ts +14 -9
- package/src/evm/index.ts +10 -1
- package/src/evm/userCurrentBalance.ts +155 -60
- package/src/evm/vaults.ts +0 -7
- package/src/evm/withdraw.ts +20 -1
- package/src/evm/withdrawQuote.ts +126 -51
- package/src/index.ts +11 -2
- package/dist/api/activity.js +0 -154
- package/dist/api/activity.js.map +0 -1
- package/dist/api/caip.js +0 -38
- package/dist/api/caip.js.map +0 -1
- package/dist/api/client.js +0 -119
- package/dist/api/client.js.map +0 -1
- package/dist/api/decimal.js +0 -44
- package/dist/api/decimal.js.map +0 -1
- package/dist/api/errors.js +0 -41
- package/dist/api/errors.js.map +0 -1
- package/dist/api/generated.js +0 -6
- package/dist/api/generated.js.map +0 -1
- package/dist/api/http.js +0 -39
- package/dist/api/http.js.map +0 -1
- package/dist/api/positionHistory.js +0 -126
- package/dist/api/positionHistory.js.map +0 -1
- package/dist/attribution/erc8021.js +0 -17
- package/dist/attribution/erc8021.js.map +0 -1
- package/dist/attribution/index.js +0 -45
- package/dist/attribution/index.js.map +0 -1
- package/dist/client.js +0 -72
- package/dist/client.js.map +0 -1
- package/dist/constants.js +0 -28
- package/dist/constants.js.map +0 -1
- package/dist/errors.js +0 -134
- package/dist/errors.js.map +0 -1
- package/dist/evm/abis/erc20.js +0 -30
- package/dist/evm/abis/erc20.js.map +0 -1
- package/dist/evm/abis/erc4626.js +0 -70
- package/dist/evm/abis/erc4626.js.map +0 -1
- package/dist/evm/abis/multiDepositorVault.js +0 -587
- package/dist/evm/abis/multiDepositorVault.js.map +0 -1
- package/dist/evm/abis/priceAndFeeCalculator.js +0 -490
- package/dist/evm/abis/priceAndFeeCalculator.js.map +0 -1
- package/dist/evm/abis/priceAndFeeCalculatorV2.js +0 -141
- package/dist/evm/abis/priceAndFeeCalculatorV2.js.map +0 -1
- package/dist/evm/abis/provisioner.js +0 -2768
- package/dist/evm/abis/provisioner.js.map +0 -1
- package/dist/evm/abis/provisionerV2.js +0 -295
- package/dist/evm/abis/provisionerV2.js.map +0 -1
- package/dist/evm/adapters/aera.js +0 -280
- package/dist/evm/adapters/aera.js.map +0 -1
- package/dist/evm/adapters/index.js +0 -14
- package/dist/evm/adapters/index.js.map +0 -1
- package/dist/evm/adapters/morpho.js +0 -79
- package/dist/evm/adapters/morpho.js.map +0 -1
- package/dist/evm/adapters/types.js +0 -2
- package/dist/evm/adapters/types.js.map +0 -1
- package/dist/evm/aeraContracts/priceAndFeeCalculator.js +0 -174
- package/dist/evm/aeraContracts/priceAndFeeCalculator.js.map +0 -1
- package/dist/evm/aeraContracts/readOptions.js +0 -4
- package/dist/evm/aeraContracts/readOptions.js.map +0 -1
- package/dist/evm/aeraContracts/v1.js +0 -59
- package/dist/evm/aeraContracts/v1.js.map +0 -1
- package/dist/evm/aeraContracts/v2.js +0 -273
- package/dist/evm/aeraContracts/v2.js.map +0 -1
- package/dist/evm/aeraContracts.js +0 -195
- package/dist/evm/aeraContracts.js.map +0 -1
- package/dist/evm/deposit.js +0 -109
- package/dist/evm/deposit.js.map +0 -1
- package/dist/evm/depositReceiverApproval.js +0 -32
- package/dist/evm/depositReceiverApproval.js.map +0 -1
- package/dist/evm/operationMode.js +0 -41
- package/dist/evm/operationMode.js.map +0 -1
- package/dist/evm/tokenModes.js +0 -34
- package/dist/evm/tokenModes.js.map +0 -1
- package/dist/evm/types.js +0 -5
- package/dist/evm/types.js.map +0 -1
- package/dist/evm/userCurrentBalance.js +0 -211
- package/dist/evm/userCurrentBalance.js.map +0 -1
- package/dist/evm/vaults.js +0 -75
- package/dist/evm/vaults.js.map +0 -1
- package/dist/evm/withdraw.js +0 -177
- package/dist/evm/withdraw.js.map +0 -1
- package/dist/evm/withdrawQuote.js +0 -164
- package/dist/evm/withdrawQuote.js.map +0 -1
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var aera_exports = {};
|
|
30
|
+
__export(aera_exports, {
|
|
31
|
+
aeraAdapter: () => aeraAdapter,
|
|
32
|
+
convertTokenAmountToUnits: () => convertTokenAmountToUnits,
|
|
33
|
+
convertUnitsToTokenAmount: () => convertUnitsToTokenAmount
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(aera_exports);
|
|
36
|
+
var import_erc20 = require("../abis/erc20");
|
|
37
|
+
var import_aeraContracts = require("../aeraContracts");
|
|
38
|
+
var import_priceAndFeeCalculator = require("../aeraContracts/priceAndFeeCalculator");
|
|
39
|
+
var provisionerV1 = __toESM(require("../aeraContracts/v1"), 1);
|
|
40
|
+
var provisionerV2 = __toESM(require("../aeraContracts/v2"), 1);
|
|
41
|
+
var import_errors = require("../../errors");
|
|
42
|
+
var import_multiDepositorVault = require("../abis/multiDepositorVault");
|
|
43
|
+
var import_constants = require("../../constants");
|
|
44
|
+
var import_types = require("../types");
|
|
45
|
+
const convertTokenAmountToUnits = async (publicClient, tokenAmount, vaultAddress, tokenAddress) => {
|
|
46
|
+
const vaultContract = (0, import_aeraContracts.getMultiDepositorVault)(publicClient, vaultAddress);
|
|
47
|
+
if (vaultContract === void 0) return;
|
|
48
|
+
const calculatorAddress = await vaultContract.read.feeCalculator();
|
|
49
|
+
if (!calculatorAddress) return;
|
|
50
|
+
const calculatorVersion = await (0, import_aeraContracts.resolveContractVersion)(publicClient, calculatorAddress);
|
|
51
|
+
const unitsAmount = await (0, import_priceAndFeeCalculator.convertTokenToUnits)(
|
|
52
|
+
publicClient,
|
|
53
|
+
calculatorAddress,
|
|
54
|
+
calculatorVersion,
|
|
55
|
+
vaultAddress,
|
|
56
|
+
tokenAddress,
|
|
57
|
+
tokenAmount
|
|
58
|
+
);
|
|
59
|
+
return unitsAmount;
|
|
60
|
+
};
|
|
61
|
+
const convertUnitsToTokenAmount = async (publicClient, unitsAmount, vaultAddress, tokenAddress) => {
|
|
62
|
+
const vaultContract = (0, import_aeraContracts.getMultiDepositorVault)(publicClient, vaultAddress);
|
|
63
|
+
if (vaultContract === void 0) return;
|
|
64
|
+
const calculatorAddress = await vaultContract.read.feeCalculator();
|
|
65
|
+
if (!calculatorAddress) return;
|
|
66
|
+
const calculatorVersion = await (0, import_aeraContracts.resolveContractVersion)(publicClient, calculatorAddress);
|
|
67
|
+
return (0, import_priceAndFeeCalculator.convertUnitsToToken)(
|
|
68
|
+
publicClient,
|
|
69
|
+
calculatorAddress,
|
|
70
|
+
calculatorVersion,
|
|
71
|
+
vaultAddress,
|
|
72
|
+
tokenAddress,
|
|
73
|
+
unitsAmount
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
function subtractSolverTip(tokenAmount, solverTip) {
|
|
77
|
+
if (solverTip === 0n) return tokenAmount;
|
|
78
|
+
if (solverTip >= tokenAmount) {
|
|
79
|
+
throw new import_errors.InvalidSolverTipError(solverTip, tokenAmount);
|
|
80
|
+
}
|
|
81
|
+
return tokenAmount - solverTip;
|
|
82
|
+
}
|
|
83
|
+
function getRequestDeadline(expirationDays) {
|
|
84
|
+
const deadlineBuffer = expirationDays === void 0 ? import_constants.DEFAULT_REQUEST_DEADLINE_BUFFER : import_constants.DAY * expirationDays;
|
|
85
|
+
return BigInt(Math.ceil((/* @__PURE__ */ new Date()).getTime() / 1e3) + deadlineBuffer);
|
|
86
|
+
}
|
|
87
|
+
async function getDepositUnitsOut({
|
|
88
|
+
publicClient,
|
|
89
|
+
runtime,
|
|
90
|
+
vault,
|
|
91
|
+
token,
|
|
92
|
+
tokensIn,
|
|
93
|
+
isAsync
|
|
94
|
+
}) {
|
|
95
|
+
if (runtime.provisioner.version === import_types.ContractVersion.V2) {
|
|
96
|
+
return isAsync ? provisionerV2.getAsyncDepositUnitsOut(
|
|
97
|
+
publicClient,
|
|
98
|
+
runtime.provisioner.address,
|
|
99
|
+
runtime.feeCalculator.address,
|
|
100
|
+
runtime.feeCalculator.version,
|
|
101
|
+
vault,
|
|
102
|
+
token,
|
|
103
|
+
tokensIn
|
|
104
|
+
) : provisionerV2.getSyncDepositUnitsOut(
|
|
105
|
+
publicClient,
|
|
106
|
+
runtime.provisioner.address,
|
|
107
|
+
runtime.feeCalculator.address,
|
|
108
|
+
runtime.feeCalculator.version,
|
|
109
|
+
vault,
|
|
110
|
+
token,
|
|
111
|
+
tokensIn
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
return provisionerV1.getAsyncDepositUnitsOut(
|
|
115
|
+
publicClient,
|
|
116
|
+
runtime.provisioner.address,
|
|
117
|
+
runtime.feeCalculator.address,
|
|
118
|
+
runtime.feeCalculator.version,
|
|
119
|
+
vault,
|
|
120
|
+
token,
|
|
121
|
+
tokensIn
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
function getAsyncRedeemTokenOut(publicClient, runtime, vault, token, unitsIn) {
|
|
125
|
+
return runtime.provisioner.version === import_types.ContractVersion.V2 ? provisionerV2.getAsyncRedeemTokenOut(
|
|
126
|
+
publicClient,
|
|
127
|
+
runtime.provisioner.address,
|
|
128
|
+
runtime.feeCalculator.address,
|
|
129
|
+
runtime.feeCalculator.version,
|
|
130
|
+
vault,
|
|
131
|
+
token,
|
|
132
|
+
unitsIn
|
|
133
|
+
) : provisionerV1.getAsyncRedeemTokenOut(
|
|
134
|
+
publicClient,
|
|
135
|
+
runtime.provisioner.address,
|
|
136
|
+
runtime.feeCalculator.address,
|
|
137
|
+
runtime.feeCalculator.version,
|
|
138
|
+
vault,
|
|
139
|
+
token,
|
|
140
|
+
unitsIn
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
function getAsyncWithdrawUnitsIn(publicClient, runtime, vault, token, tokensOut) {
|
|
144
|
+
return runtime.provisioner.version === import_types.ContractVersion.V2 ? provisionerV2.getAsyncWithdrawUnitsIn(
|
|
145
|
+
publicClient,
|
|
146
|
+
runtime.provisioner.address,
|
|
147
|
+
runtime.feeCalculator.address,
|
|
148
|
+
runtime.feeCalculator.version,
|
|
149
|
+
vault,
|
|
150
|
+
token,
|
|
151
|
+
tokensOut
|
|
152
|
+
) : provisionerV1.getAsyncWithdrawUnitsIn(
|
|
153
|
+
publicClient,
|
|
154
|
+
runtime.provisioner.address,
|
|
155
|
+
runtime.feeCalculator.address,
|
|
156
|
+
runtime.feeCalculator.version,
|
|
157
|
+
vault,
|
|
158
|
+
token,
|
|
159
|
+
tokensOut
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
function requireAeraRuntime(runtime) {
|
|
163
|
+
if (!runtime) {
|
|
164
|
+
throw new import_errors.UnsupportedFeatureError("Aera: runtime contracts were not resolved");
|
|
165
|
+
}
|
|
166
|
+
return runtime;
|
|
167
|
+
}
|
|
168
|
+
const aeraAdapter = {
|
|
169
|
+
async buildDeposit(params) {
|
|
170
|
+
const {
|
|
171
|
+
vault,
|
|
172
|
+
receiver,
|
|
173
|
+
amount,
|
|
174
|
+
account,
|
|
175
|
+
publicClient,
|
|
176
|
+
asset,
|
|
177
|
+
async: isAsync,
|
|
178
|
+
slippageBps = import_constants.DEFAULT_BPS,
|
|
179
|
+
solverTip = import_constants.DEFAULT_SOLVER_TIP,
|
|
180
|
+
maxPriceAge = import_constants.DEFAULT_MAX_PRICE_AGE,
|
|
181
|
+
aeraRuntime,
|
|
182
|
+
minUnitsOut: requestedMinUnitsOut
|
|
183
|
+
} = params;
|
|
184
|
+
const runtime = requireAeraRuntime(aeraRuntime);
|
|
185
|
+
const provisionerAddress = runtime.provisioner.address;
|
|
186
|
+
const isContractV2 = runtime.provisioner.version === import_types.ContractVersion.V2;
|
|
187
|
+
if (receiver !== account && !isContractV2) {
|
|
188
|
+
throw new import_errors.UnsupportedFeatureError("Aera: separate receiver address on V1");
|
|
189
|
+
}
|
|
190
|
+
if (!isAsync && !isContractV2) {
|
|
191
|
+
throw new import_errors.UnsupportedFeatureError("Aera: sync operations on V1");
|
|
192
|
+
}
|
|
193
|
+
const minUnitsOut = requestedMinUnitsOut ?? (0, import_aeraContracts.applySlippageDown)(
|
|
194
|
+
await getDepositUnitsOut({
|
|
195
|
+
publicClient,
|
|
196
|
+
runtime,
|
|
197
|
+
vault: vault.vaultAddress,
|
|
198
|
+
token: asset.address,
|
|
199
|
+
tokensIn: isAsync ? subtractSolverTip(amount, solverTip) : amount,
|
|
200
|
+
isAsync
|
|
201
|
+
}),
|
|
202
|
+
slippageBps
|
|
203
|
+
);
|
|
204
|
+
if (isAsync) {
|
|
205
|
+
const deadline = getRequestDeadline(vault.expirationDays);
|
|
206
|
+
return [
|
|
207
|
+
{
|
|
208
|
+
type: "requestDeposit",
|
|
209
|
+
...isContractV2 ? provisionerV2.requestDepositTxRequest(
|
|
210
|
+
provisionerAddress,
|
|
211
|
+
asset.address,
|
|
212
|
+
amount,
|
|
213
|
+
minUnitsOut,
|
|
214
|
+
solverTip,
|
|
215
|
+
deadline,
|
|
216
|
+
maxPriceAge,
|
|
217
|
+
false,
|
|
218
|
+
receiver,
|
|
219
|
+
account
|
|
220
|
+
) : provisionerV1.requestDepositTxRequest(
|
|
221
|
+
provisionerAddress,
|
|
222
|
+
asset.address,
|
|
223
|
+
amount,
|
|
224
|
+
minUnitsOut,
|
|
225
|
+
solverTip,
|
|
226
|
+
deadline,
|
|
227
|
+
maxPriceAge,
|
|
228
|
+
false,
|
|
229
|
+
account
|
|
230
|
+
)
|
|
231
|
+
}
|
|
232
|
+
];
|
|
233
|
+
}
|
|
234
|
+
if (isContractV2) {
|
|
235
|
+
return [
|
|
236
|
+
{
|
|
237
|
+
type: "deposit",
|
|
238
|
+
...provisionerV2.depositTxRequest(
|
|
239
|
+
provisionerAddress,
|
|
240
|
+
asset.address,
|
|
241
|
+
amount,
|
|
242
|
+
minUnitsOut,
|
|
243
|
+
receiver,
|
|
244
|
+
account
|
|
245
|
+
)
|
|
246
|
+
}
|
|
247
|
+
];
|
|
248
|
+
}
|
|
249
|
+
throw new import_errors.UnimplementedFeatureError("Aera Sync Operations");
|
|
250
|
+
},
|
|
251
|
+
async buildWithdraw(params) {
|
|
252
|
+
const {
|
|
253
|
+
vault,
|
|
254
|
+
receiver,
|
|
255
|
+
account,
|
|
256
|
+
asset,
|
|
257
|
+
publicClient,
|
|
258
|
+
async: isAsync,
|
|
259
|
+
slippageBps = import_constants.DEFAULT_BPS,
|
|
260
|
+
solverTip = import_constants.DEFAULT_SOLVER_TIP,
|
|
261
|
+
maxPriceAge = import_constants.DEFAULT_MAX_PRICE_AGE,
|
|
262
|
+
aeraRuntime
|
|
263
|
+
} = params;
|
|
264
|
+
const runtime = requireAeraRuntime(aeraRuntime);
|
|
265
|
+
const provisionerAddress = runtime.provisioner.address;
|
|
266
|
+
const isContractV2 = runtime.provisioner.version === import_types.ContractVersion.V2;
|
|
267
|
+
if (receiver !== account && !isContractV2) {
|
|
268
|
+
throw new import_errors.UnsupportedFeatureError("Aera: separate receiver address on V1");
|
|
269
|
+
}
|
|
270
|
+
if (!isAsync) (0, import_aeraContracts.requireAeraSyncRedeemRuntime)(runtime);
|
|
271
|
+
const isV2ExactTokenWithdraw = isContractV2 && !isAsync && "amount" in params && params.amount != null;
|
|
272
|
+
let minTokenOut;
|
|
273
|
+
let maxUnitsIn;
|
|
274
|
+
let shares;
|
|
275
|
+
if (isContractV2 && !isAsync) {
|
|
276
|
+
const quote = params.syncWithdrawQuote;
|
|
277
|
+
if ("entireAmount" in params && params.entireAmount) {
|
|
278
|
+
const balance = await publicClient.readContract({
|
|
279
|
+
address: vault.vaultAddress,
|
|
280
|
+
abi: import_multiDepositorVault.multiDepositorVaultAbi,
|
|
281
|
+
functionName: "balanceOf",
|
|
282
|
+
args: [account]
|
|
283
|
+
});
|
|
284
|
+
if (quote !== void 0) {
|
|
285
|
+
if (quote.kind !== "redeem" || quote.shares !== balance) {
|
|
286
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
shares = balance;
|
|
290
|
+
} else if ("shares" in params && params.shares != null) {
|
|
291
|
+
if (quote !== void 0 && (quote.kind !== "redeem" || quote.shares !== params.shares)) {
|
|
292
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
293
|
+
}
|
|
294
|
+
shares = params.shares;
|
|
295
|
+
} else if (!("amount" in params && params.amount != null)) {
|
|
296
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
297
|
+
}
|
|
298
|
+
if (isV2ExactTokenWithdraw) {
|
|
299
|
+
(0, import_errors.requireNonZeroSyncWithdrawBound)(params.amount, "tokensOut");
|
|
300
|
+
if (quote !== void 0) {
|
|
301
|
+
if (quote.kind !== "withdraw" || quote.tokensOut !== params.amount) {
|
|
302
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
303
|
+
}
|
|
304
|
+
minTokenOut = quote.tokensOut;
|
|
305
|
+
maxUnitsIn = quote.maxUnitsIn;
|
|
306
|
+
} else {
|
|
307
|
+
minTokenOut = params.amount;
|
|
308
|
+
maxUnitsIn = (0, import_aeraContracts.applySlippageUp)(
|
|
309
|
+
await provisionerV2.getSyncWithdrawUnitsIn(
|
|
310
|
+
publicClient,
|
|
311
|
+
provisionerAddress,
|
|
312
|
+
runtime.feeCalculator.address,
|
|
313
|
+
runtime.feeCalculator.version,
|
|
314
|
+
vault.vaultAddress,
|
|
315
|
+
asset.address,
|
|
316
|
+
params.amount
|
|
317
|
+
),
|
|
318
|
+
slippageBps
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
(0, import_errors.requireNonZeroSyncWithdrawBound)(maxUnitsIn, "maxUnitsIn");
|
|
322
|
+
} else {
|
|
323
|
+
if (shares === void 0) {
|
|
324
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
325
|
+
}
|
|
326
|
+
(0, import_errors.requireNonZeroSyncWithdrawBound)(shares, "unitsIn");
|
|
327
|
+
if (quote !== void 0) {
|
|
328
|
+
if (quote.kind !== "redeem" || quote.shares !== shares) {
|
|
329
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
330
|
+
}
|
|
331
|
+
minTokenOut = quote.minTokensOut;
|
|
332
|
+
} else {
|
|
333
|
+
const tokensOut = await provisionerV2.getSyncRedeemTokenOut(
|
|
334
|
+
publicClient,
|
|
335
|
+
provisionerAddress,
|
|
336
|
+
runtime.feeCalculator.address,
|
|
337
|
+
runtime.feeCalculator.version,
|
|
338
|
+
vault.vaultAddress,
|
|
339
|
+
asset.address,
|
|
340
|
+
shares
|
|
341
|
+
);
|
|
342
|
+
minTokenOut = (0, import_aeraContracts.applySlippageDown)(tokensOut, slippageBps);
|
|
343
|
+
}
|
|
344
|
+
(0, import_errors.requireNonZeroSyncWithdrawBound)(minTokenOut, "minTokensOut");
|
|
345
|
+
maxUnitsIn = shares;
|
|
346
|
+
}
|
|
347
|
+
} else {
|
|
348
|
+
if ("entireAmount" in params && params.entireAmount) {
|
|
349
|
+
shares = await publicClient.readContract({
|
|
350
|
+
address: vault.vaultAddress,
|
|
351
|
+
abi: import_multiDepositorVault.multiDepositorVaultAbi,
|
|
352
|
+
functionName: "balanceOf",
|
|
353
|
+
args: [account]
|
|
354
|
+
});
|
|
355
|
+
} else if ("amount" in params && params.amount != null) {
|
|
356
|
+
shares = await getAsyncWithdrawUnitsIn(
|
|
357
|
+
publicClient,
|
|
358
|
+
runtime,
|
|
359
|
+
vault.vaultAddress,
|
|
360
|
+
asset.address,
|
|
361
|
+
params.amount + solverTip
|
|
362
|
+
);
|
|
363
|
+
} else if ("shares" in params && params.shares != null) {
|
|
364
|
+
shares = params.shares;
|
|
365
|
+
} else {
|
|
366
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
367
|
+
}
|
|
368
|
+
const tokensOut = "amount" in params && params.amount != null ? params.amount : subtractSolverTip(
|
|
369
|
+
await getAsyncRedeemTokenOut(
|
|
370
|
+
publicClient,
|
|
371
|
+
runtime,
|
|
372
|
+
vault.vaultAddress,
|
|
373
|
+
asset.address,
|
|
374
|
+
shares
|
|
375
|
+
),
|
|
376
|
+
solverTip
|
|
377
|
+
);
|
|
378
|
+
minTokenOut = (0, import_aeraContracts.applySlippageDown)(tokensOut, slippageBps);
|
|
379
|
+
maxUnitsIn = shares;
|
|
380
|
+
}
|
|
381
|
+
if (params.maxShares !== void 0) {
|
|
382
|
+
if (isAsync || typeof params.maxShares !== "bigint" || params.maxShares <= 0n || !isV2ExactTokenWithdraw && shares !== void 0 && shares > params.maxShares) {
|
|
383
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
384
|
+
}
|
|
385
|
+
if (maxUnitsIn > params.maxShares) maxUnitsIn = params.maxShares;
|
|
386
|
+
}
|
|
387
|
+
const steps = [];
|
|
388
|
+
if (isAsync) {
|
|
389
|
+
if (shares === void 0) {
|
|
390
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
391
|
+
}
|
|
392
|
+
const { sufficient } = await this.checkAllowance({
|
|
393
|
+
publicClient,
|
|
394
|
+
token: vault.vaultAddress,
|
|
395
|
+
owner: account,
|
|
396
|
+
spender: provisionerAddress,
|
|
397
|
+
amount: shares
|
|
398
|
+
});
|
|
399
|
+
if (!sufficient) {
|
|
400
|
+
steps.push(
|
|
401
|
+
this.buildApproval({
|
|
402
|
+
token: vault.vaultAddress,
|
|
403
|
+
spender: provisionerAddress,
|
|
404
|
+
amount: shares,
|
|
405
|
+
account
|
|
406
|
+
})
|
|
407
|
+
);
|
|
408
|
+
}
|
|
409
|
+
const deadline = getRequestDeadline(vault.expirationDays);
|
|
410
|
+
return [
|
|
411
|
+
...steps,
|
|
412
|
+
{
|
|
413
|
+
type: "requestRedeem",
|
|
414
|
+
...isContractV2 ? provisionerV2.requestRedeemTxRequest(
|
|
415
|
+
provisionerAddress,
|
|
416
|
+
asset.address,
|
|
417
|
+
shares,
|
|
418
|
+
minTokenOut,
|
|
419
|
+
solverTip,
|
|
420
|
+
deadline,
|
|
421
|
+
maxPriceAge,
|
|
422
|
+
false,
|
|
423
|
+
receiver,
|
|
424
|
+
account
|
|
425
|
+
) : provisionerV1.requestRedeemTxRequest(
|
|
426
|
+
provisionerAddress,
|
|
427
|
+
asset.address,
|
|
428
|
+
shares,
|
|
429
|
+
minTokenOut,
|
|
430
|
+
solverTip,
|
|
431
|
+
deadline,
|
|
432
|
+
maxPriceAge,
|
|
433
|
+
false,
|
|
434
|
+
account
|
|
435
|
+
)
|
|
436
|
+
}
|
|
437
|
+
];
|
|
438
|
+
}
|
|
439
|
+
if ("amount" in params && params.amount != null) {
|
|
440
|
+
return [
|
|
441
|
+
...steps,
|
|
442
|
+
{
|
|
443
|
+
type: "withdraw",
|
|
444
|
+
...provisionerV2.withdrawTxRequest(
|
|
445
|
+
provisionerAddress,
|
|
446
|
+
asset.address,
|
|
447
|
+
params.amount,
|
|
448
|
+
maxUnitsIn,
|
|
449
|
+
receiver,
|
|
450
|
+
account
|
|
451
|
+
)
|
|
452
|
+
}
|
|
453
|
+
];
|
|
454
|
+
}
|
|
455
|
+
if (shares === void 0) {
|
|
456
|
+
throw new import_errors.InvalidWithdrawParamsError();
|
|
457
|
+
}
|
|
458
|
+
return [
|
|
459
|
+
...steps,
|
|
460
|
+
{
|
|
461
|
+
type: "redeem",
|
|
462
|
+
...provisionerV2.redeemTxRequest(
|
|
463
|
+
provisionerAddress,
|
|
464
|
+
asset.address,
|
|
465
|
+
shares,
|
|
466
|
+
minTokenOut,
|
|
467
|
+
receiver,
|
|
468
|
+
account
|
|
469
|
+
)
|
|
470
|
+
}
|
|
471
|
+
];
|
|
472
|
+
},
|
|
473
|
+
async checkAllowance(params) {
|
|
474
|
+
const { publicClient, token, owner, spender, amount } = params;
|
|
475
|
+
const current = await publicClient.readContract({
|
|
476
|
+
address: token,
|
|
477
|
+
abi: import_erc20.erc20Abi,
|
|
478
|
+
functionName: "allowance",
|
|
479
|
+
args: [owner, spender]
|
|
480
|
+
});
|
|
481
|
+
return { sufficient: current >= amount, current };
|
|
482
|
+
},
|
|
483
|
+
buildApproval(params) {
|
|
484
|
+
return {
|
|
485
|
+
type: "approve",
|
|
486
|
+
address: params.token,
|
|
487
|
+
abi: import_erc20.erc20Abi,
|
|
488
|
+
functionName: "approve",
|
|
489
|
+
args: [params.spender, params.amount],
|
|
490
|
+
account: params.account
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
495
|
+
0 && (module.exports = {
|
|
496
|
+
aeraAdapter,
|
|
497
|
+
convertTokenAmountToUnits,
|
|
498
|
+
convertUnitsToTokenAmount
|
|
499
|
+
});
|
|
500
|
+
//# sourceMappingURL=aera.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/evm/adapters/aera.ts"],
|
|
4
|
+
"sourcesContent": ["import { erc20Abi } from '../abis/erc20';\nimport {\n getMultiDepositorVault,\n applySlippageDown,\n applySlippageUp,\n requireAeraSyncRedeemRuntime,\n resolveContractVersion,\n type AeraRuntimeContracts,\n} from '../aeraContracts';\nimport { convertTokenToUnits, convertUnitsToToken } from '../aeraContracts/priceAndFeeCalculator';\nimport * as provisionerV1 from '../aeraContracts/v1';\nimport * as provisionerV2 from '../aeraContracts/v2';\nimport {\n InvalidWithdrawParamsError,\n InvalidSolverTipError,\n requireNonZeroSyncWithdrawBound,\n UnimplementedFeatureError,\n UnsupportedFeatureError,\n} from '../../errors';\nimport type {\n EvmProtocolAdapter,\n EvmTxStep,\n AdapterDepositParams,\n AdapterWithdrawParams,\n AllowanceParams,\n ApprovalParams,\n} from './types';\nimport type { Address, PublicClient } from 'viem';\nimport { multiDepositorVaultAbi } from '../abis/multiDepositorVault';\nimport {\n DEFAULT_BPS,\n DAY,\n DEFAULT_MAX_PRICE_AGE,\n DEFAULT_REQUEST_DEADLINE_BUFFER,\n DEFAULT_SOLVER_TIP,\n} from '../../constants';\nimport { ContractVersion } from '../types';\n\nexport const convertTokenAmountToUnits = async (\n publicClient: PublicClient,\n tokenAmount: bigint,\n vaultAddress: Address,\n tokenAddress: Address\n) => {\n const vaultContract = getMultiDepositorVault(publicClient, vaultAddress);\n if (vaultContract === undefined) return;\n\n const calculatorAddress = await vaultContract.read.feeCalculator();\n if (!calculatorAddress) return;\n const calculatorVersion = await resolveContractVersion(publicClient, calculatorAddress);\n\n const unitsAmount = await convertTokenToUnits(\n publicClient,\n calculatorAddress,\n calculatorVersion,\n vaultAddress,\n tokenAddress,\n tokenAmount\n );\n\n return unitsAmount;\n};\n\nexport const convertUnitsToTokenAmount = async (\n publicClient: PublicClient,\n unitsAmount: bigint,\n vaultAddress: Address,\n tokenAddress: Address\n) => {\n const vaultContract = getMultiDepositorVault(publicClient, vaultAddress);\n if (vaultContract === undefined) return;\n\n const calculatorAddress = await vaultContract.read.feeCalculator();\n if (!calculatorAddress) return;\n const calculatorVersion = await resolveContractVersion(publicClient, calculatorAddress);\n\n return convertUnitsToToken(\n publicClient,\n calculatorAddress,\n calculatorVersion,\n vaultAddress,\n tokenAddress,\n unitsAmount\n );\n};\n\nfunction subtractSolverTip(tokenAmount: bigint, solverTip: bigint): bigint {\n if (solverTip === 0n) return tokenAmount;\n if (solverTip >= tokenAmount) {\n throw new InvalidSolverTipError(solverTip, tokenAmount);\n }\n\n return tokenAmount - solverTip;\n}\n\nfunction getRequestDeadline(expirationDays?: number): bigint {\n const deadlineBuffer =\n expirationDays === undefined ? DEFAULT_REQUEST_DEADLINE_BUFFER : DAY * expirationDays;\n return BigInt(Math.ceil(new Date().getTime() / 1000) + deadlineBuffer);\n}\n\nasync function getDepositUnitsOut({\n publicClient,\n runtime,\n vault,\n token,\n tokensIn,\n isAsync,\n}: {\n publicClient: PublicClient;\n runtime: AeraRuntimeContracts;\n vault: Address;\n token: Address;\n tokensIn: bigint;\n isAsync: boolean;\n}): Promise<bigint> {\n if (runtime.provisioner.version === ContractVersion.V2) {\n return isAsync\n ? provisionerV2.getAsyncDepositUnitsOut(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n tokensIn\n )\n : provisionerV2.getSyncDepositUnitsOut(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n tokensIn\n );\n }\n\n return provisionerV1.getAsyncDepositUnitsOut(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n tokensIn\n );\n}\n\nfunction getAsyncRedeemTokenOut(\n publicClient: PublicClient,\n runtime: AeraRuntimeContracts,\n vault: Address,\n token: Address,\n unitsIn: bigint\n): Promise<bigint> {\n return runtime.provisioner.version === ContractVersion.V2\n ? provisionerV2.getAsyncRedeemTokenOut(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n unitsIn\n )\n : provisionerV1.getAsyncRedeemTokenOut(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n unitsIn\n );\n}\n\nfunction getAsyncWithdrawUnitsIn(\n publicClient: PublicClient,\n runtime: AeraRuntimeContracts,\n vault: Address,\n token: Address,\n tokensOut: bigint\n): Promise<bigint> {\n return runtime.provisioner.version === ContractVersion.V2\n ? provisionerV2.getAsyncWithdrawUnitsIn(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n tokensOut\n )\n : provisionerV1.getAsyncWithdrawUnitsIn(\n publicClient,\n runtime.provisioner.address,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault,\n token,\n tokensOut\n );\n}\n\nfunction requireAeraRuntime(runtime: AeraRuntimeContracts | undefined): AeraRuntimeContracts {\n if (!runtime) {\n throw new UnsupportedFeatureError('Aera: runtime contracts were not resolved');\n }\n\n return runtime;\n}\n\nexport const aeraAdapter: EvmProtocolAdapter = {\n async buildDeposit(params: AdapterDepositParams): Promise<EvmTxStep[]> {\n const {\n vault,\n receiver,\n amount,\n account,\n publicClient,\n asset,\n async: isAsync,\n slippageBps = DEFAULT_BPS,\n solverTip = DEFAULT_SOLVER_TIP,\n maxPriceAge = DEFAULT_MAX_PRICE_AGE,\n aeraRuntime,\n minUnitsOut: requestedMinUnitsOut,\n } = params;\n\n const runtime = requireAeraRuntime(aeraRuntime);\n const provisionerAddress = runtime.provisioner.address;\n const isContractV2 = runtime.provisioner.version === ContractVersion.V2;\n if (receiver !== account && !isContractV2) {\n throw new UnsupportedFeatureError('Aera: separate receiver address on V1');\n }\n\n if (!isAsync && !isContractV2) {\n throw new UnsupportedFeatureError('Aera: sync operations on V1');\n }\n\n const minUnitsOut =\n requestedMinUnitsOut ??\n applySlippageDown(\n await getDepositUnitsOut({\n publicClient,\n runtime,\n vault: vault.vaultAddress,\n token: asset.address,\n tokensIn: isAsync ? subtractSolverTip(amount, solverTip) : amount,\n isAsync,\n }),\n slippageBps\n );\n\n if (isAsync) {\n const deadline = getRequestDeadline(vault.expirationDays);\n return [\n {\n type: 'requestDeposit',\n ...(isContractV2\n ? provisionerV2.requestDepositTxRequest(\n provisionerAddress,\n asset.address,\n amount,\n minUnitsOut,\n solverTip,\n deadline,\n maxPriceAge,\n false,\n receiver,\n account\n )\n : provisionerV1.requestDepositTxRequest(\n provisionerAddress,\n asset.address,\n amount,\n minUnitsOut,\n solverTip,\n deadline,\n maxPriceAge,\n false,\n account\n )),\n },\n ];\n }\n\n if (isContractV2) {\n return [\n {\n type: 'deposit',\n ...provisionerV2.depositTxRequest(\n provisionerAddress,\n asset.address,\n amount,\n minUnitsOut,\n receiver,\n account\n ),\n },\n ];\n }\n\n throw new UnimplementedFeatureError('Aera Sync Operations');\n },\n\n async buildWithdraw(params: AdapterWithdrawParams): Promise<EvmTxStep[]> {\n const {\n vault,\n receiver,\n account,\n asset,\n publicClient,\n async: isAsync,\n slippageBps = DEFAULT_BPS,\n solverTip = DEFAULT_SOLVER_TIP,\n maxPriceAge = DEFAULT_MAX_PRICE_AGE,\n aeraRuntime,\n } = params;\n\n const runtime = requireAeraRuntime(aeraRuntime);\n const provisionerAddress = runtime.provisioner.address;\n const isContractV2 = runtime.provisioner.version === ContractVersion.V2;\n if (receiver !== account && !isContractV2) {\n throw new UnsupportedFeatureError('Aera: separate receiver address on V1');\n }\n\n if (!isAsync) requireAeraSyncRedeemRuntime(runtime);\n\n const isV2ExactTokenWithdraw =\n isContractV2 && !isAsync && 'amount' in params && params.amount != null;\n let minTokenOut: bigint;\n let maxUnitsIn: bigint;\n let shares: bigint | undefined;\n\n if (isContractV2 && !isAsync) {\n const quote = params.syncWithdrawQuote;\n if ('entireAmount' in params && params.entireAmount) {\n const balance = await publicClient.readContract({\n address: vault.vaultAddress,\n abi: multiDepositorVaultAbi,\n functionName: 'balanceOf',\n args: [account],\n });\n if (quote !== undefined) {\n if (quote.kind !== 'redeem' || quote.shares !== balance) {\n throw new InvalidWithdrawParamsError();\n }\n }\n shares = balance;\n } else if ('shares' in params && params.shares != null) {\n if (quote !== undefined && (quote.kind !== 'redeem' || quote.shares !== params.shares)) {\n throw new InvalidWithdrawParamsError();\n }\n shares = params.shares;\n } else if (!('amount' in params && params.amount != null)) {\n throw new InvalidWithdrawParamsError();\n }\n\n if (isV2ExactTokenWithdraw) {\n requireNonZeroSyncWithdrawBound(params.amount, 'tokensOut');\n if (quote !== undefined) {\n if (quote.kind !== 'withdraw' || quote.tokensOut !== params.amount) {\n throw new InvalidWithdrawParamsError();\n }\n minTokenOut = quote.tokensOut;\n maxUnitsIn = quote.maxUnitsIn;\n } else {\n minTokenOut = params.amount;\n maxUnitsIn = applySlippageUp(\n await provisionerV2.getSyncWithdrawUnitsIn(\n publicClient,\n provisionerAddress,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault.vaultAddress,\n asset.address,\n params.amount\n ),\n slippageBps\n );\n }\n requireNonZeroSyncWithdrawBound(maxUnitsIn, 'maxUnitsIn');\n } else {\n if (shares === undefined) {\n throw new InvalidWithdrawParamsError();\n }\n\n requireNonZeroSyncWithdrawBound(shares, 'unitsIn');\n if (quote !== undefined) {\n if (quote.kind !== 'redeem' || quote.shares !== shares) {\n throw new InvalidWithdrawParamsError();\n }\n minTokenOut = quote.minTokensOut;\n } else {\n const tokensOut = await provisionerV2.getSyncRedeemTokenOut(\n publicClient,\n provisionerAddress,\n runtime.feeCalculator.address,\n runtime.feeCalculator.version,\n vault.vaultAddress,\n asset.address,\n shares\n );\n minTokenOut = applySlippageDown(tokensOut, slippageBps);\n }\n requireNonZeroSyncWithdrawBound(minTokenOut, 'minTokensOut');\n maxUnitsIn = shares;\n }\n } else {\n if ('entireAmount' in params && params.entireAmount) {\n shares = await publicClient.readContract({\n address: vault.vaultAddress,\n abi: multiDepositorVaultAbi,\n functionName: 'balanceOf',\n args: [account],\n });\n } else if ('amount' in params && params.amount != null) {\n shares = await getAsyncWithdrawUnitsIn(\n publicClient,\n runtime,\n vault.vaultAddress,\n asset.address,\n params.amount + solverTip\n );\n } else if ('shares' in params && params.shares != null) {\n shares = params.shares;\n } else {\n throw new InvalidWithdrawParamsError();\n }\n\n const tokensOut =\n 'amount' in params && params.amount != null\n ? params.amount\n : subtractSolverTip(\n await getAsyncRedeemTokenOut(\n publicClient,\n runtime,\n vault.vaultAddress,\n asset.address,\n shares\n ),\n solverTip\n );\n minTokenOut = applySlippageDown(tokensOut, slippageBps);\n maxUnitsIn = shares;\n }\n\n if (params.maxShares !== undefined) {\n if (\n isAsync ||\n typeof params.maxShares !== 'bigint' ||\n params.maxShares <= 0n ||\n (!isV2ExactTokenWithdraw && shares !== undefined && shares > params.maxShares)\n ) {\n throw new InvalidWithdrawParamsError();\n }\n if (maxUnitsIn > params.maxShares) maxUnitsIn = params.maxShares;\n }\n\n const steps: EvmTxStep[] = [];\n\n if (isAsync) {\n if (shares === undefined) {\n throw new InvalidWithdrawParamsError();\n }\n\n // Only async requestRedeem needs a vault unit allowance: the provisioner\n // pulls units from the user. V2 sync redeem/withdraw exits through the\n // vault and burns the caller's units directly, so no approval is needed.\n const { sufficient } = await this.checkAllowance({\n publicClient,\n token: vault.vaultAddress,\n owner: account,\n spender: provisionerAddress,\n amount: shares,\n });\n\n if (!sufficient) {\n steps.push(\n this.buildApproval({\n token: vault.vaultAddress,\n spender: provisionerAddress,\n amount: shares,\n account,\n })\n );\n }\n\n const deadline = getRequestDeadline(vault.expirationDays);\n\n return [\n ...steps,\n {\n type: 'requestRedeem',\n ...(isContractV2\n ? provisionerV2.requestRedeemTxRequest(\n provisionerAddress,\n asset.address,\n shares,\n minTokenOut,\n solverTip,\n deadline,\n maxPriceAge,\n false,\n receiver,\n account\n )\n : provisionerV1.requestRedeemTxRequest(\n provisionerAddress,\n asset.address,\n shares,\n minTokenOut,\n solverTip,\n deadline,\n maxPriceAge,\n false,\n account\n )),\n },\n ];\n }\n\n if ('amount' in params && params.amount != null) {\n return [\n ...steps,\n {\n type: 'withdraw',\n ...provisionerV2.withdrawTxRequest(\n provisionerAddress,\n asset.address,\n params.amount,\n maxUnitsIn,\n receiver,\n account\n ),\n },\n ];\n }\n\n if (shares === undefined) {\n throw new InvalidWithdrawParamsError();\n }\n\n return [\n ...steps,\n {\n type: 'redeem',\n ...provisionerV2.redeemTxRequest(\n provisionerAddress,\n asset.address,\n shares,\n minTokenOut,\n receiver,\n account\n ),\n },\n ];\n },\n\n async checkAllowance(params: AllowanceParams) {\n const { publicClient, token, owner, spender, amount } = params;\n const current = await publicClient.readContract({\n address: token,\n abi: erc20Abi,\n functionName: 'allowance',\n args: [owner, spender],\n });\n\n return { sufficient: current >= amount, current };\n },\n\n buildApproval(params: ApprovalParams): EvmTxStep {\n return {\n type: 'approve',\n address: params.token,\n abi: erc20Abi,\n functionName: 'approve',\n args: [params.spender, params.amount],\n account: params.account,\n };\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/evm/adapters/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAgB;AAElD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAS/D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var adapters_exports = {};
|
|
20
|
+
__export(adapters_exports, {
|
|
21
|
+
getAdapter: () => getAdapter
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(adapters_exports);
|
|
24
|
+
var import_aera = require("./aera");
|
|
25
|
+
var import_morpho = require("./morpho");
|
|
26
|
+
var import_errors = require("../../errors");
|
|
27
|
+
function getAdapter(protocol) {
|
|
28
|
+
switch (protocol) {
|
|
29
|
+
case "aera":
|
|
30
|
+
return import_aera.aeraAdapter;
|
|
31
|
+
case "morpho":
|
|
32
|
+
return import_morpho.morphoAdapter;
|
|
33
|
+
default:
|
|
34
|
+
throw new import_errors.UnsupportedProtocolError(protocol);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
getAdapter
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/evm/adapters/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { aeraAdapter } from './aera';\nimport { morphoAdapter } from './morpho';\nimport { UnsupportedProtocolError } from '../../errors';\nimport type { EvmProtocolAdapter } from './types';\n\nexport function getAdapter(protocol: string): EvmProtocolAdapter {\n switch (protocol) {\n case 'aera':\n return aeraAdapter;\n case 'morpho':\n return morphoAdapter;\n default:\n throw new UnsupportedProtocolError(protocol);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,oBAA8B;AAC9B,oBAAyC;AAGlC,SAAS,WAAW,UAAsC;AAC/D,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,YAAM,IAAI,uCAAyB,QAAQ;AAAA,EAC/C;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"morpho.d.ts","sourceRoot":"","sources":["../../../../src/evm/adapters/morpho.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAMnB,mBAAgB;AAKjB,eAAO,MAAM,aAAa,EAAE,kBA+E3B,CAAC"}
|