viem 2.55.8 → 2.55.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js +1 -1
  3. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -1
  4. package/_cjs/actions/public/estimateFeesPerGas.js +1 -1
  5. package/_cjs/actions/public/estimateFeesPerGas.js.map +1 -1
  6. package/_cjs/actions/public/fillTransaction.js +1 -1
  7. package/_cjs/actions/public/fillTransaction.js.map +1 -1
  8. package/_cjs/chains/definitions/0gMainnet.js +1 -1
  9. package/_cjs/chains/definitions/0gMainnet.js.map +1 -1
  10. package/_cjs/chains/definitions/0gTestnet.js +2 -2
  11. package/_cjs/chains/definitions/0gTestnet.js.map +1 -1
  12. package/_cjs/chains/definitions/eduChain.js +9 -2
  13. package/_cjs/chains/definitions/eduChain.js.map +1 -1
  14. package/_cjs/chains/definitions/eduChainTestnet.js +3 -4
  15. package/_cjs/chains/definitions/eduChainTestnet.js.map +1 -1
  16. package/_cjs/chains/definitions/polygonAmoy.js +1 -1
  17. package/_cjs/chains/definitions/polygonAmoy.js.map +1 -1
  18. package/_cjs/chains/definitions/story.js +7 -7
  19. package/_cjs/chains/definitions/story.js.map +1 -1
  20. package/_cjs/chains/definitions/storyAeneid.js +8 -8
  21. package/_cjs/chains/definitions/storyAeneid.js.map +1 -1
  22. package/_cjs/errors/typedData.js +11 -1
  23. package/_cjs/errors/typedData.js.map +1 -1
  24. package/_cjs/errors/version.js +1 -1
  25. package/_cjs/errors/version.js.map +1 -1
  26. package/_cjs/index.js +5 -4
  27. package/_cjs/index.js.map +1 -1
  28. package/_cjs/tempo/Abis.js +1335 -571
  29. package/_cjs/tempo/Abis.js.map +1 -1
  30. package/_cjs/tempo/Addresses.js +2 -1
  31. package/_cjs/tempo/Addresses.js.map +1 -1
  32. package/_cjs/tempo/Decorator.js.map +1 -1
  33. package/_cjs/tempo/actions/earn.js +197 -135
  34. package/_cjs/tempo/actions/earn.js.map +1 -1
  35. package/_cjs/tempo/actions/token.js +18 -6
  36. package/_cjs/tempo/actions/token.js.map +1 -1
  37. package/_cjs/tempo/zones/Abis.js +6 -0
  38. package/_cjs/tempo/zones/Abis.js.map +1 -1
  39. package/_cjs/tokens/definitions/usdc.js +7 -0
  40. package/_cjs/tokens/definitions/usdc.js.map +1 -1
  41. package/_cjs/utils/promise/withRetry.js +2 -2
  42. package/_cjs/utils/promise/withRetry.js.map +1 -1
  43. package/_cjs/utils/typedData.js +3 -0
  44. package/_cjs/utils/typedData.js.map +1 -1
  45. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js +1 -1
  46. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -1
  47. package/_esm/actions/public/estimateFeesPerGas.js +1 -1
  48. package/_esm/actions/public/estimateFeesPerGas.js.map +1 -1
  49. package/_esm/actions/public/fillTransaction.js +1 -1
  50. package/_esm/actions/public/fillTransaction.js.map +1 -1
  51. package/_esm/chains/definitions/0gMainnet.js +1 -1
  52. package/_esm/chains/definitions/0gMainnet.js.map +1 -1
  53. package/_esm/chains/definitions/0gTestnet.js +2 -2
  54. package/_esm/chains/definitions/0gTestnet.js.map +1 -1
  55. package/_esm/chains/definitions/eduChain.js +9 -2
  56. package/_esm/chains/definitions/eduChain.js.map +1 -1
  57. package/_esm/chains/definitions/eduChainTestnet.js +3 -4
  58. package/_esm/chains/definitions/eduChainTestnet.js.map +1 -1
  59. package/_esm/chains/definitions/polygonAmoy.js +1 -1
  60. package/_esm/chains/definitions/polygonAmoy.js.map +1 -1
  61. package/_esm/chains/definitions/story.js +7 -7
  62. package/_esm/chains/definitions/story.js.map +1 -1
  63. package/_esm/chains/definitions/storyAeneid.js +8 -8
  64. package/_esm/chains/definitions/storyAeneid.js.map +1 -1
  65. package/_esm/errors/typedData.js +9 -0
  66. package/_esm/errors/typedData.js.map +1 -1
  67. package/_esm/errors/version.js +1 -1
  68. package/_esm/errors/version.js.map +1 -1
  69. package/_esm/index.js +1 -1
  70. package/_esm/index.js.map +1 -1
  71. package/_esm/tempo/Abis.js +1336 -572
  72. package/_esm/tempo/Abis.js.map +1 -1
  73. package/_esm/tempo/Addresses.js +1 -0
  74. package/_esm/tempo/Addresses.js.map +1 -1
  75. package/_esm/tempo/Decorator.js.map +1 -1
  76. package/_esm/tempo/actions/earn.js +240 -172
  77. package/_esm/tempo/actions/earn.js.map +1 -1
  78. package/_esm/tempo/actions/token.js +21 -8
  79. package/_esm/tempo/actions/token.js.map +1 -1
  80. package/_esm/tempo/zones/Abis.js +6 -0
  81. package/_esm/tempo/zones/Abis.js.map +1 -1
  82. package/_esm/tokens/definitions/usdc.js +7 -0
  83. package/_esm/tokens/definitions/usdc.js.map +1 -1
  84. package/_esm/utils/promise/withRetry.js +2 -2
  85. package/_esm/utils/promise/withRetry.js.map +1 -1
  86. package/_esm/utils/typedData.js +4 -1
  87. package/_esm/utils/typedData.js.map +1 -1
  88. package/_types/chains/definitions/0gMainnet.d.ts +1 -1
  89. package/_types/chains/definitions/0gTestnet.d.ts +3 -3
  90. package/_types/chains/definitions/eduChain.d.ts +9 -11
  91. package/_types/chains/definitions/eduChain.d.ts.map +1 -1
  92. package/_types/chains/definitions/eduChainTestnet.d.ts +3 -4
  93. package/_types/chains/definitions/eduChainTestnet.d.ts.map +1 -1
  94. package/_types/chains/definitions/polygonAmoy.d.ts +1 -1
  95. package/_types/chains/definitions/story.d.ts +7 -7
  96. package/_types/chains/definitions/storyAeneid.d.ts +8 -8
  97. package/_types/errors/typedData.d.ts +8 -0
  98. package/_types/errors/typedData.d.ts.map +1 -1
  99. package/_types/errors/version.d.ts +1 -1
  100. package/_types/errors/version.d.ts.map +1 -1
  101. package/_types/index.d.ts +1 -1
  102. package/_types/index.d.ts.map +1 -1
  103. package/_types/package.json +1 -0
  104. package/_types/tempo/Abis.d.ts +2153 -950
  105. package/_types/tempo/Abis.d.ts.map +1 -1
  106. package/_types/tempo/Addresses.d.ts +1 -0
  107. package/_types/tempo/Addresses.d.ts.map +1 -1
  108. package/_types/tempo/Decorator.d.ts +21 -15
  109. package/_types/tempo/Decorator.d.ts.map +1 -1
  110. package/_types/tempo/actions/earn.d.ts +1369 -1825
  111. package/_types/tempo/actions/earn.d.ts.map +1 -1
  112. package/_types/tempo/actions/token.d.ts +1 -1
  113. package/_types/tempo/actions/token.d.ts.map +1 -1
  114. package/_types/tempo/zones/Abis.d.ts +20 -0
  115. package/_types/tempo/zones/Abis.d.ts.map +1 -1
  116. package/_types/tokens/definitions/usdc.d.ts +7 -0
  117. package/_types/tokens/definitions/usdc.d.ts.map +1 -1
  118. package/_types/tokens/sets.d.ts +14 -0
  119. package/_types/tokens/sets.d.ts.map +1 -1
  120. package/_types/utils/typedData.d.ts.map +1 -1
  121. package/account-abstraction/utils/formatters/userOperationRequest.ts +4 -3
  122. package/actions/public/estimateFeesPerGas.ts +1 -1
  123. package/actions/public/fillTransaction.ts +1 -1
  124. package/chains/definitions/0gMainnet.ts +1 -1
  125. package/chains/definitions/0gTestnet.ts +2 -2
  126. package/chains/definitions/eduChain.ts +9 -2
  127. package/chains/definitions/eduChainTestnet.ts +3 -4
  128. package/chains/definitions/polygonAmoy.ts +1 -1
  129. package/chains/definitions/story.ts +7 -7
  130. package/chains/definitions/storyAeneid.ts +8 -8
  131. package/errors/typedData.ts +13 -0
  132. package/errors/version.ts +1 -1
  133. package/index.ts +2 -0
  134. package/package.json +2 -2
  135. package/tempo/Abis.ts +1341 -576
  136. package/tempo/Addresses.ts +1 -0
  137. package/tempo/Decorator.ts +21 -15
  138. package/tempo/actions/earn.ts +365 -287
  139. package/tempo/actions/token.ts +60 -9
  140. package/tempo/zones/Abis.ts +6 -0
  141. package/tokens/definitions/usdc.ts +7 -0
  142. package/utils/promise/withRetry.ts +4 -4
  143. package/utils/typedData.ts +5 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zoneGatewayCallbackData = exports.zoneGatewayBase = exports.zoneGateway = exports.vedaEngine = exports.vaultRewards = exports.vaultEngineShares = exports.vaultEngineAsync = exports.vaultEngine = exports.vaultAdapter = exports.erc4626Engine = exports.earnFactory = exports.abis = exports.validatorConfigV2 = exports.storageCredits = exports.validatorConfig = exports.feeAmm = exports.feeManager = exports.tip403Registry = exports.tip20Factory = exports.tip20ChannelReserve = exports.tip20 = exports.stablecoinDex = exports.signatureVerifier = exports.receivePolicyGuard = exports.nonce = exports.addressRegistry = exports.accountKeychain = void 0;
3
+ exports.earnRouterCallbackData = exports.earnRouter = exports.vedaEngine = exports.earnContributionController = exports.earnEngineInKindDeposit = exports.earnEngineAsyncRedeem = exports.earnEngine = exports.earnFees = exports.earnVault = exports.erc4626Engine = exports.earnFactory = exports.erc4626EngineFactory = exports.abis = exports.validatorConfigV2 = exports.storageCredits = exports.validatorConfig = exports.feeAmm = exports.feeManager = exports.tip403Registry = exports.tip20Factory = exports.tip20ChannelReserve = exports.tip20 = exports.stablecoinDex = exports.signatureVerifier = exports.receivePolicyGuard = exports.nonce = exports.addressRegistry = exports.accountKeychain = void 0;
4
4
  exports.accountKeychain = [
5
5
  {
6
6
  name: 'authorizeKey',
@@ -2975,10 +2975,71 @@ exports.abis = [
2975
2975
  ...exports.validatorConfig,
2976
2976
  ...exports.validatorConfigV2,
2977
2977
  ];
2978
+ exports.erc4626EngineFactory = [
2979
+ {
2980
+ type: 'function',
2981
+ name: 'computeEngineSalt',
2982
+ inputs: [
2983
+ { name: 'deploymentId', type: 'bytes32' },
2984
+ { name: 'vault', type: 'address' },
2985
+ { name: 'owner', type: 'address' },
2986
+ { name: 'nameOverride', type: 'string' },
2987
+ { name: 'symbolOverride', type: 'string' },
2988
+ ],
2989
+ outputs: [{ name: '', type: 'bytes32' }],
2990
+ stateMutability: 'pure',
2991
+ },
2992
+ {
2993
+ type: 'function',
2994
+ name: 'deploy',
2995
+ inputs: [
2996
+ { name: 'deploymentId', type: 'bytes32' },
2997
+ { name: 'vault', type: 'address' },
2998
+ { name: 'owner', type: 'address' },
2999
+ { name: 'nameOverride', type: 'string' },
3000
+ { name: 'symbolOverride', type: 'string' },
3001
+ ],
3002
+ outputs: [{ name: 'engine', type: 'address' }],
3003
+ stateMutability: 'nonpayable',
3004
+ },
3005
+ {
3006
+ type: 'function',
3007
+ name: 'predictEngine',
3008
+ inputs: [
3009
+ { name: 'deploymentId', type: 'bytes32' },
3010
+ { name: 'vault', type: 'address' },
3011
+ { name: 'owner', type: 'address' },
3012
+ { name: 'nameOverride', type: 'string' },
3013
+ { name: 'symbolOverride', type: 'string' },
3014
+ ],
3015
+ outputs: [{ name: '', type: 'address' }],
3016
+ stateMutability: 'view',
3017
+ },
3018
+ {
3019
+ type: 'event',
3020
+ name: 'ERC4626EngineDeployed',
3021
+ inputs: [
3022
+ { name: 'engine', type: 'address', indexed: true },
3023
+ { name: 'vault', type: 'address', indexed: true },
3024
+ { name: 'owner', type: 'address', indexed: true },
3025
+ { name: 'asset', type: 'address', indexed: false },
3026
+ { name: 'deploymentId', type: 'bytes32', indexed: false },
3027
+ { name: 'engineSalt', type: 'bytes32', indexed: false },
3028
+ ],
3029
+ anonymous: false,
3030
+ },
3031
+ { type: 'error', name: 'EmptyDeploymentId', inputs: [] },
3032
+ {
3033
+ type: 'error',
3034
+ name: 'EngineAlreadyExists',
3035
+ inputs: [{ name: 'engine', type: 'address' }],
3036
+ },
3037
+ { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] },
3038
+ ];
2978
3039
  exports.earnFactory = [
2979
3040
  {
2980
3041
  type: 'function',
2981
- name: 'computeShareSalt',
3042
+ name: 'computeEarnShareSalt',
2982
3043
  inputs: [
2983
3044
  {
2984
3045
  name: 'params',
@@ -2993,44 +3054,44 @@ exports.earnFactory = [
2993
3054
  components: [
2994
3055
  { name: 'emergencyGuardian', type: 'address' },
2995
3056
  { name: 'asyncJanitor', type: 'address' },
3057
+ { name: 'maxManagedAssets', type: 'uint256' },
2996
3058
  { name: 'migrationMode', type: 'uint8' },
2997
3059
  ],
2998
3060
  },
3061
+ {
3062
+ name: 'distributorConfig',
3063
+ type: 'tuple',
3064
+ components: [
3065
+ { name: 'distributor', type: 'address' },
3066
+ { name: 'updateDelay', type: 'uint40' },
3067
+ ],
3068
+ },
2999
3069
  {
3000
3070
  name: 'fees',
3001
3071
  type: 'tuple',
3002
3072
  components: [
3003
- { name: 'administrator', type: 'address' },
3004
- { name: 'guardian', type: 'address' },
3005
- { name: 'fixedFeeCap', type: 'uint96' },
3006
- { name: 'excessFeeCap', type: 'uint96' },
3073
+ { name: 'fixedFeeCount', type: 'uint8' },
3074
+ {
3075
+ name: 'fixedFees',
3076
+ type: 'tuple[4]',
3077
+ components: [
3078
+ { name: 'account', type: 'address' },
3079
+ { name: 'rateBps', type: 'uint16' },
3080
+ ],
3081
+ },
3007
3082
  {
3008
- name: 'initialConfig',
3083
+ name: 'excess',
3009
3084
  type: 'tuple',
3010
3085
  components: [
3011
- { name: 'fixedFeeCount', type: 'uint8' },
3012
- {
3013
- name: 'fixedFees',
3014
- type: 'tuple[4]',
3015
- components: [
3016
- { name: 'account', type: 'address' },
3017
- { name: 'rate', type: 'uint96' },
3018
- ],
3019
- },
3020
- {
3021
- name: 'excess',
3022
- type: 'tuple',
3023
- components: [
3024
- { name: 'enabled', type: 'bool' },
3025
- { name: 'account', type: 'address' },
3026
- { name: 'annualTargetRate', type: 'uint96' },
3027
- { name: 'excessFeeRate', type: 'uint96' },
3028
- ],
3029
- },
3086
+ { name: 'enabled', type: 'bool' },
3087
+ { name: 'account', type: 'address' },
3088
+ { name: 'annualTargetRateBps', type: 'uint16' },
3089
+ { name: 'excessFeeRateBps', type: 'uint16' },
3030
3090
  ],
3031
3091
  },
3032
3092
  ],
3033
3093
  },
3094
+ { name: 'transferPolicyId', type: 'uint64' },
3034
3095
  ],
3035
3096
  },
3036
3097
  ],
@@ -3054,56 +3115,132 @@ exports.earnFactory = [
3054
3115
  components: [
3055
3116
  { name: 'emergencyGuardian', type: 'address' },
3056
3117
  { name: 'asyncJanitor', type: 'address' },
3118
+ { name: 'maxManagedAssets', type: 'uint256' },
3057
3119
  { name: 'migrationMode', type: 'uint8' },
3058
3120
  ],
3059
3121
  },
3122
+ {
3123
+ name: 'distributorConfig',
3124
+ type: 'tuple',
3125
+ components: [
3126
+ { name: 'distributor', type: 'address' },
3127
+ { name: 'updateDelay', type: 'uint40' },
3128
+ ],
3129
+ },
3060
3130
  {
3061
3131
  name: 'fees',
3062
3132
  type: 'tuple',
3063
3133
  components: [
3064
- { name: 'administrator', type: 'address' },
3065
- { name: 'guardian', type: 'address' },
3066
- { name: 'fixedFeeCap', type: 'uint96' },
3067
- { name: 'excessFeeCap', type: 'uint96' },
3134
+ { name: 'fixedFeeCount', type: 'uint8' },
3135
+ {
3136
+ name: 'fixedFees',
3137
+ type: 'tuple[4]',
3138
+ components: [
3139
+ { name: 'account', type: 'address' },
3140
+ { name: 'rateBps', type: 'uint16' },
3141
+ ],
3142
+ },
3068
3143
  {
3069
- name: 'initialConfig',
3144
+ name: 'excess',
3070
3145
  type: 'tuple',
3071
3146
  components: [
3072
- { name: 'fixedFeeCount', type: 'uint8' },
3073
- {
3074
- name: 'fixedFees',
3075
- type: 'tuple[4]',
3076
- components: [
3077
- { name: 'account', type: 'address' },
3078
- { name: 'rate', type: 'uint96' },
3079
- ],
3080
- },
3081
- {
3082
- name: 'excess',
3083
- type: 'tuple',
3084
- components: [
3085
- { name: 'enabled', type: 'bool' },
3086
- { name: 'account', type: 'address' },
3087
- { name: 'annualTargetRate', type: 'uint96' },
3088
- { name: 'excessFeeRate', type: 'uint96' },
3089
- ],
3090
- },
3147
+ { name: 'enabled', type: 'bool' },
3148
+ { name: 'account', type: 'address' },
3149
+ { name: 'annualTargetRateBps', type: 'uint16' },
3150
+ { name: 'excessFeeRateBps', type: 'uint16' },
3091
3151
  ],
3092
3152
  },
3093
3153
  ],
3094
3154
  },
3155
+ { name: 'transferPolicyId', type: 'uint64' },
3095
3156
  ],
3096
3157
  },
3097
3158
  ],
3098
3159
  outputs: [
3099
- { name: 'shareToken', type: 'address' },
3100
- { name: 'vaultAdapter', type: 'address' },
3160
+ { name: 'earnShare', type: 'address' },
3161
+ { name: 'earnVault', type: 'address' },
3162
+ { name: 'earnFees', type: 'address' },
3101
3163
  ],
3102
3164
  stateMutability: 'nonpayable',
3103
3165
  },
3104
3166
  {
3105
3167
  type: 'function',
3106
- name: 'predictShareToken',
3168
+ name: 'earnFeesImplementation',
3169
+ inputs: [],
3170
+ outputs: [{ name: '', type: 'address' }],
3171
+ stateMutability: 'view',
3172
+ },
3173
+ {
3174
+ type: 'function',
3175
+ name: 'earnVaultImplementation',
3176
+ inputs: [],
3177
+ outputs: [{ name: '', type: 'address' }],
3178
+ stateMutability: 'view',
3179
+ },
3180
+ {
3181
+ type: 'function',
3182
+ name: 'predictEarnFees',
3183
+ inputs: [
3184
+ {
3185
+ name: 'params',
3186
+ type: 'tuple',
3187
+ components: [
3188
+ { name: 'deploymentId', type: 'bytes32' },
3189
+ { name: 'engine', type: 'address' },
3190
+ { name: 'owner', type: 'address' },
3191
+ {
3192
+ name: 'controls',
3193
+ type: 'tuple',
3194
+ components: [
3195
+ { name: 'emergencyGuardian', type: 'address' },
3196
+ { name: 'asyncJanitor', type: 'address' },
3197
+ { name: 'maxManagedAssets', type: 'uint256' },
3198
+ { name: 'migrationMode', type: 'uint8' },
3199
+ ],
3200
+ },
3201
+ {
3202
+ name: 'distributorConfig',
3203
+ type: 'tuple',
3204
+ components: [
3205
+ { name: 'distributor', type: 'address' },
3206
+ { name: 'updateDelay', type: 'uint40' },
3207
+ ],
3208
+ },
3209
+ {
3210
+ name: 'fees',
3211
+ type: 'tuple',
3212
+ components: [
3213
+ { name: 'fixedFeeCount', type: 'uint8' },
3214
+ {
3215
+ name: 'fixedFees',
3216
+ type: 'tuple[4]',
3217
+ components: [
3218
+ { name: 'account', type: 'address' },
3219
+ { name: 'rateBps', type: 'uint16' },
3220
+ ],
3221
+ },
3222
+ {
3223
+ name: 'excess',
3224
+ type: 'tuple',
3225
+ components: [
3226
+ { name: 'enabled', type: 'bool' },
3227
+ { name: 'account', type: 'address' },
3228
+ { name: 'annualTargetRateBps', type: 'uint16' },
3229
+ { name: 'excessFeeRateBps', type: 'uint16' },
3230
+ ],
3231
+ },
3232
+ ],
3233
+ },
3234
+ { name: 'transferPolicyId', type: 'uint64' },
3235
+ ],
3236
+ },
3237
+ ],
3238
+ outputs: [{ name: '', type: 'address' }],
3239
+ stateMutability: 'view',
3240
+ },
3241
+ {
3242
+ type: 'function',
3243
+ name: 'predictEarnShare',
3107
3244
  inputs: [
3108
3245
  {
3109
3246
  name: 'params',
@@ -3118,81 +3255,130 @@ exports.earnFactory = [
3118
3255
  components: [
3119
3256
  { name: 'emergencyGuardian', type: 'address' },
3120
3257
  { name: 'asyncJanitor', type: 'address' },
3258
+ { name: 'maxManagedAssets', type: 'uint256' },
3121
3259
  { name: 'migrationMode', type: 'uint8' },
3122
3260
  ],
3123
3261
  },
3262
+ {
3263
+ name: 'distributorConfig',
3264
+ type: 'tuple',
3265
+ components: [
3266
+ { name: 'distributor', type: 'address' },
3267
+ { name: 'updateDelay', type: 'uint40' },
3268
+ ],
3269
+ },
3124
3270
  {
3125
3271
  name: 'fees',
3126
3272
  type: 'tuple',
3127
3273
  components: [
3128
- { name: 'administrator', type: 'address' },
3129
- { name: 'guardian', type: 'address' },
3130
- { name: 'fixedFeeCap', type: 'uint96' },
3131
- { name: 'excessFeeCap', type: 'uint96' },
3274
+ { name: 'fixedFeeCount', type: 'uint8' },
3275
+ {
3276
+ name: 'fixedFees',
3277
+ type: 'tuple[4]',
3278
+ components: [
3279
+ { name: 'account', type: 'address' },
3280
+ { name: 'rateBps', type: 'uint16' },
3281
+ ],
3282
+ },
3132
3283
  {
3133
- name: 'initialConfig',
3284
+ name: 'excess',
3134
3285
  type: 'tuple',
3135
3286
  components: [
3136
- { name: 'fixedFeeCount', type: 'uint8' },
3137
- {
3138
- name: 'fixedFees',
3139
- type: 'tuple[4]',
3140
- components: [
3141
- { name: 'account', type: 'address' },
3142
- { name: 'rate', type: 'uint96' },
3143
- ],
3144
- },
3145
- {
3146
- name: 'excess',
3147
- type: 'tuple',
3148
- components: [
3149
- { name: 'enabled', type: 'bool' },
3150
- { name: 'account', type: 'address' },
3151
- { name: 'annualTargetRate', type: 'uint96' },
3152
- { name: 'excessFeeRate', type: 'uint96' },
3153
- ],
3154
- },
3287
+ { name: 'enabled', type: 'bool' },
3288
+ { name: 'account', type: 'address' },
3289
+ { name: 'annualTargetRateBps', type: 'uint16' },
3290
+ { name: 'excessFeeRateBps', type: 'uint16' },
3155
3291
  ],
3156
3292
  },
3157
3293
  ],
3158
3294
  },
3295
+ { name: 'transferPolicyId', type: 'uint64' },
3159
3296
  ],
3160
3297
  },
3161
3298
  ],
3162
3299
  outputs: [{ name: '', type: 'address' }],
3163
3300
  stateMutability: 'view',
3164
3301
  },
3302
+ {
3303
+ type: 'function',
3304
+ name: 'tip20Factory',
3305
+ inputs: [],
3306
+ outputs: [{ name: '', type: 'address' }],
3307
+ stateMutability: 'view',
3308
+ },
3165
3309
  {
3166
3310
  type: 'event',
3167
3311
  name: 'EarnStackDeployed',
3168
3312
  inputs: [
3169
- { name: 'vaultAdapter', type: 'address', indexed: true },
3170
- { name: 'shareToken', type: 'address', indexed: true },
3171
- { name: 'engine', type: 'address', indexed: true },
3313
+ { name: 'earnVault', type: 'address', indexed: true },
3314
+ { name: 'earnShare', type: 'address', indexed: true },
3315
+ { name: 'earnFees', type: 'address', indexed: true },
3316
+ { name: 'engine', type: 'address', indexed: false },
3172
3317
  { name: 'asset', type: 'address', indexed: false },
3173
3318
  { name: 'owner', type: 'address', indexed: false },
3174
3319
  { name: 'deploymentId', type: 'bytes32', indexed: false },
3175
3320
  { name: 'emergencyGuardian', type: 'address', indexed: false },
3176
3321
  { name: 'asyncJanitor', type: 'address', indexed: false },
3322
+ { name: 'maxManagedAssets', type: 'uint256', indexed: false },
3177
3323
  { name: 'migrationMode', type: 'uint8', indexed: false },
3178
- { name: 'shareSalt', type: 'bytes32', indexed: false },
3324
+ { name: 'transferPolicyId', type: 'uint64', indexed: false },
3325
+ { name: 'earnShareSalt', type: 'bytes32', indexed: false },
3179
3326
  { name: 'controlConfigHash', type: 'bytes32', indexed: false },
3180
3327
  { name: 'feeConfigHash', type: 'bytes32', indexed: false },
3328
+ { name: 'earnFeesSalt', type: 'bytes32', indexed: false },
3181
3329
  ],
3182
3330
  anonymous: false,
3183
3331
  },
3184
3332
  { type: 'error', name: 'AdminHandoffFailed', inputs: [] },
3333
+ {
3334
+ type: 'error',
3335
+ name: 'EarnShareAlreadyExists',
3336
+ inputs: [{ name: 'earnShare', type: 'address' }],
3337
+ },
3338
+ { type: 'error', name: 'EarnShareSupplyNotZero', inputs: [] },
3185
3339
  { type: 'error', name: 'EmptyDeploymentId', inputs: [] },
3186
- { type: 'error', name: 'EmptyShareMetadata', inputs: [] },
3340
+ { type: 'error', name: 'EmptyEarnShareMetadata', inputs: [] },
3341
+ {
3342
+ type: 'error',
3343
+ name: 'EngineAlreadyBound',
3344
+ inputs: [{ name: 'earnVault', type: 'address' }],
3345
+ },
3187
3346
  { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] },
3188
- { type: 'error', name: 'InvalidAdapterImplementation', inputs: [] },
3347
+ { type: 'error', name: 'FailedDeployment', inputs: [] },
3348
+ {
3349
+ type: 'error',
3350
+ name: 'InsufficientBalance',
3351
+ inputs: [
3352
+ { name: 'balance', type: 'uint256' },
3353
+ { name: 'needed', type: 'uint256' },
3354
+ ],
3355
+ },
3356
+ { type: 'error', name: 'InvalidDistributorConfig', inputs: [] },
3357
+ { type: 'error', name: 'InvalidEarnFeesImplementation', inputs: [] },
3358
+ { type: 'error', name: 'InvalidEarnVaultImplementation', inputs: [] },
3359
+ { type: 'error', name: 'InvalidEngine', inputs: [] },
3360
+ {
3361
+ type: 'error',
3362
+ name: 'InvalidTransferPolicy',
3363
+ inputs: [{ name: 'policyId', type: 'uint64' }],
3364
+ },
3189
3365
  { type: 'error', name: 'IssuerGrantFailed', inputs: [] },
3190
3366
  {
3191
3367
  type: 'error',
3192
- name: 'ShareTokenAlreadyExists',
3193
- inputs: [{ name: 'shareToken', type: 'address' }],
3368
+ name: 'TransferPolicyMismatch',
3369
+ inputs: [
3370
+ { name: 'expected', type: 'uint64' },
3371
+ { name: 'actual', type: 'uint64' },
3372
+ ],
3373
+ },
3374
+ {
3375
+ type: 'error',
3376
+ name: 'UnsupportedTransferPolicy',
3377
+ inputs: [
3378
+ { name: 'policyId', type: 'uint64' },
3379
+ { name: 'policyType', type: 'uint8' },
3380
+ ],
3194
3381
  },
3195
- { type: 'error', name: 'ShareTokenSupplyNotZero', inputs: [] },
3196
3382
  { type: 'error', name: 'ZeroAddress', inputs: [] },
3197
3383
  ];
3198
3384
  exports.erc4626Engine = [
@@ -3205,11 +3391,39 @@ exports.erc4626Engine = [
3205
3391
  },
3206
3392
  {
3207
3393
  type: 'function',
3208
- name: 'initializeCore',
3209
- inputs: [{ name: 'core_', type: 'address' }],
3394
+ name: 'asset',
3395
+ inputs: [],
3396
+ outputs: [{ name: '', type: 'address' }],
3397
+ stateMutability: 'view',
3398
+ },
3399
+ {
3400
+ type: 'function',
3401
+ name: 'baseAsset',
3402
+ inputs: [],
3403
+ outputs: [{ name: '', type: 'address' }],
3404
+ stateMutability: 'view',
3405
+ },
3406
+ {
3407
+ type: 'function',
3408
+ name: 'earnVault',
3409
+ inputs: [],
3410
+ outputs: [{ name: '', type: 'address' }],
3411
+ stateMutability: 'view',
3412
+ },
3413
+ {
3414
+ type: 'function',
3415
+ name: 'initializeEarnVault',
3416
+ inputs: [{ name: 'earnVault_', type: 'address' }],
3210
3417
  outputs: [],
3211
3418
  stateMutability: 'nonpayable',
3212
3419
  },
3420
+ {
3421
+ type: 'function',
3422
+ name: 'name',
3423
+ inputs: [],
3424
+ outputs: [{ name: '', type: 'string' }],
3425
+ stateMutability: 'view',
3426
+ },
3213
3427
  {
3214
3428
  type: 'function',
3215
3429
  name: 'owner',
@@ -3231,6 +3445,13 @@ exports.erc4626Engine = [
3231
3445
  outputs: [],
3232
3446
  stateMutability: 'nonpayable',
3233
3447
  },
3448
+ {
3449
+ type: 'function',
3450
+ name: 'symbol',
3451
+ inputs: [],
3452
+ outputs: [{ name: '', type: 'string' }],
3453
+ stateMutability: 'view',
3454
+ },
3234
3455
  {
3235
3456
  type: 'function',
3236
3457
  name: 'transferOwnership',
@@ -3239,21 +3460,28 @@ exports.erc4626Engine = [
3239
3460
  stateMutability: 'nonpayable',
3240
3461
  },
3241
3462
  {
3242
- type: 'event',
3243
- name: 'CoreInitialized',
3244
- inputs: [{ name: 'core', type: 'address', indexed: true }],
3245
- anonymous: false,
3463
+ type: 'function',
3464
+ name: 'vault',
3465
+ inputs: [],
3466
+ outputs: [{ name: '', type: 'address' }],
3467
+ stateMutability: 'view',
3246
3468
  },
3247
3469
  {
3248
3470
  type: 'event',
3249
3471
  name: 'Deposited',
3250
3472
  inputs: [
3251
- { name: 'receiver', type: 'address', indexed: true },
3473
+ { name: 'earnVault', type: 'address', indexed: true },
3252
3474
  { name: 'assets', type: 'uint256', indexed: false },
3253
- { name: 'shares', type: 'uint256', indexed: false },
3475
+ { name: 'engineShares', type: 'uint256', indexed: false },
3254
3476
  ],
3255
3477
  anonymous: false,
3256
3478
  },
3479
+ {
3480
+ type: 'event',
3481
+ name: 'EarnVaultInitialized',
3482
+ inputs: [{ name: 'earnVault', type: 'address', indexed: true }],
3483
+ anonymous: false,
3484
+ },
3257
3485
  {
3258
3486
  type: 'event',
3259
3487
  name: 'OwnershipTransferStarted',
@@ -3277,7 +3505,7 @@ exports.erc4626Engine = [
3277
3505
  name: 'Redeemed',
3278
3506
  inputs: [
3279
3507
  { name: 'receiver', type: 'address', indexed: true },
3280
- { name: 'shares', type: 'uint256', indexed: false },
3508
+ { name: 'engineShares', type: 'uint256', indexed: false },
3281
3509
  { name: 'assets', type: 'uint256', indexed: false },
3282
3510
  ],
3283
3511
  anonymous: false,
@@ -3287,8 +3515,8 @@ exports.erc4626Engine = [
3287
3515
  name: 'VenueSharesDeposited',
3288
3516
  inputs: [
3289
3517
  { name: 'from', type: 'address', indexed: true },
3290
- { name: 'requestedShares', type: 'uint256', indexed: false },
3291
- { name: 'receivedShares', type: 'uint256', indexed: false },
3518
+ { name: 'requestedVenueShares', type: 'uint256', indexed: false },
3519
+ { name: 'receivedEngineShares', type: 'uint256', indexed: false },
3292
3520
  ],
3293
3521
  anonymous: false,
3294
3522
  },
@@ -3298,17 +3526,26 @@ exports.erc4626Engine = [
3298
3526
  inputs: [
3299
3527
  { name: 'receiver', type: 'address', indexed: true },
3300
3528
  { name: 'assets', type: 'uint256', indexed: false },
3301
- { name: 'sharesBurned', type: 'uint256', indexed: false },
3529
+ { name: 'engineSharesBurned', type: 'uint256', indexed: false },
3302
3530
  ],
3303
3531
  anonymous: false,
3304
3532
  },
3305
3533
  { type: 'error', name: 'AlreadyInitialized', inputs: [] },
3306
- { type: 'error', name: 'CoreNotSet', inputs: [] },
3534
+ { type: 'error', name: 'EarnVaultNotSet', inputs: [] },
3307
3535
  { type: 'error', name: 'EmptyMetadata', inputs: [] },
3308
- { type: 'error', name: 'NoSharesReceived', inputs: [] },
3309
3536
  {
3310
3537
  type: 'error',
3311
- name: 'NotCore',
3538
+ name: 'InsufficientAssetsReceived',
3539
+ inputs: [
3540
+ { name: 'minimumAssets', type: 'uint256' },
3541
+ { name: 'actualAssets', type: 'uint256' },
3542
+ ],
3543
+ },
3544
+ { type: 'error', name: 'InvalidVenueShareDecimals', inputs: [] },
3545
+ { type: 'error', name: 'NoVenueSharesReceived', inputs: [] },
3546
+ {
3547
+ type: 'error',
3548
+ name: 'NotEarnVault',
3312
3549
  inputs: [{ name: 'caller', type: 'address' }],
3313
3550
  },
3314
3551
  {
@@ -3323,30 +3560,53 @@ exports.erc4626Engine = [
3323
3560
  },
3324
3561
  { type: 'error', name: 'ReentrantCall', inputs: [] },
3325
3562
  { type: 'error', name: 'TransferFailed', inputs: [] },
3563
+ {
3564
+ type: 'error',
3565
+ name: 'UnexpectedAssetsReceived',
3566
+ inputs: [
3567
+ { name: 'expectedAssets', type: 'uint256' },
3568
+ { name: 'actualAssets', type: 'uint256' },
3569
+ ],
3570
+ },
3571
+ {
3572
+ type: 'error',
3573
+ name: 'UnexpectedVenueSharesBurned',
3574
+ inputs: [
3575
+ { name: 'expectedShares', type: 'uint256' },
3576
+ { name: 'actualShares', type: 'uint256' },
3577
+ ],
3578
+ },
3326
3579
  { type: 'error', name: 'ZeroAddress', inputs: [] },
3327
3580
  ];
3328
- exports.vaultAdapter = [
3581
+ exports.earnVault = [
3329
3582
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
3583
+ {
3584
+ type: 'function',
3585
+ name: 'acceptDistributor',
3586
+ inputs: [],
3587
+ outputs: [],
3588
+ stateMutability: 'nonpayable',
3589
+ },
3330
3590
  {
3331
3591
  type: 'function',
3332
3592
  name: 'accrueFees',
3333
3593
  inputs: [],
3334
3594
  outputs: [
3335
3595
  { name: 'feeAssets', type: 'uint256' },
3336
- { name: 'feeShares', type: 'uint256' },
3596
+ { name: 'feeEarnShares', type: 'uint256' },
3337
3597
  ],
3338
3598
  stateMutability: 'nonpayable',
3339
3599
  },
3340
3600
  {
3341
3601
  type: 'function',
3342
- name: 'anchorEngineShares',
3602
+ name: 'anchorEarnShares',
3343
3603
  inputs: [],
3344
3604
  outputs: [{ name: '', type: 'uint256' }],
3345
3605
  stateMutability: 'view',
3346
3606
  },
3347
3607
  {
3348
3608
  type: 'function',
3349
- name: 'anchorSupply',
3609
+ name: 'anchorEngineShares',
3350
3610
  inputs: [],
3351
3611
  outputs: [{ name: '', type: 'uint256' }],
3352
3612
  stateMutability: 'view',
@@ -3367,40 +3627,47 @@ exports.vaultAdapter = [
3367
3627
  },
3368
3628
  {
3369
3629
  type: 'function',
3370
- name: 'cancelRedeemAsync',
3371
- inputs: [{ name: 'requestId', type: 'bytes32' }],
3630
+ name: 'cancelDistributorFeeUpdate',
3631
+ inputs: [],
3372
3632
  outputs: [],
3373
3633
  stateMutability: 'nonpayable',
3374
3634
  },
3375
3635
  {
3376
3636
  type: 'function',
3377
- name: 'claimFeeShares',
3378
- inputs: [
3379
- { name: 'to', type: 'address' },
3380
- { name: 'shares', type: 'uint256' },
3381
- ],
3637
+ name: 'cancelDistributorTransfer',
3638
+ inputs: [],
3382
3639
  outputs: [],
3383
3640
  stateMutability: 'nonpayable',
3384
3641
  },
3385
3642
  {
3386
3643
  type: 'function',
3387
- name: 'claimableFeeShares',
3388
- inputs: [{ name: 'recipient', type: 'address' }],
3389
- outputs: [{ name: 'shares', type: 'uint256' }],
3390
- stateMutability: 'view',
3644
+ name: 'cancelRedeem',
3645
+ inputs: [
3646
+ { name: 'requestId', type: 'bytes32' },
3647
+ { name: 'minReceiverEarnShares', type: 'uint256' },
3648
+ ],
3649
+ outputs: [],
3650
+ stateMutability: 'nonpayable',
3391
3651
  },
3392
3652
  {
3393
3653
  type: 'function',
3394
3654
  name: 'contribute',
3395
3655
  inputs: [{ name: 'assets', type: 'uint256' }],
3396
- outputs: [{ name: 'venueShares', type: 'uint256' }],
3656
+ outputs: [{ name: 'receivedEngineShares', type: 'uint256' }],
3397
3657
  stateMutability: 'nonpayable',
3398
3658
  },
3399
3659
  {
3400
3660
  type: 'function',
3401
- name: 'currentFeeConfigId',
3402
- inputs: [],
3403
- outputs: [{ name: '', type: 'uint64' }],
3661
+ name: 'convertEngineSharesToEarnShares',
3662
+ inputs: [{ name: 'engineShares_', type: 'uint256' }],
3663
+ outputs: [{ name: 'earnShares', type: 'uint256' }],
3664
+ stateMutability: 'view',
3665
+ },
3666
+ {
3667
+ type: 'function',
3668
+ name: 'convertToEngineShares',
3669
+ inputs: [{ name: 'earnShares', type: 'uint256' }],
3670
+ outputs: [{ name: 'engineShares_', type: 'uint256' }],
3404
3671
  stateMutability: 'view',
3405
3672
  },
3406
3673
  {
@@ -3409,14 +3676,14 @@ exports.vaultAdapter = [
3409
3676
  inputs: [
3410
3677
  { name: 'assets', type: 'uint256' },
3411
3678
  { name: 'receiver', type: 'address' },
3412
- { name: 'minShares', type: 'uint256' },
3679
+ { name: 'minEarnShares', type: 'uint256' },
3413
3680
  ],
3414
- outputs: [{ name: 'shares', type: 'uint256' }],
3681
+ outputs: [{ name: 'earnShares', type: 'uint256' }],
3415
3682
  stateMutability: 'nonpayable',
3416
3683
  },
3417
3684
  {
3418
3685
  type: 'function',
3419
- name: 'depositShares',
3686
+ name: 'depositVenueShares',
3420
3687
  inputs: [
3421
3688
  { name: 'venueShares', type: 'uint256' },
3422
3689
  { name: 'receiver', type: 'address' },
@@ -3441,109 +3708,76 @@ exports.vaultAdapter = [
3441
3708
  },
3442
3709
  {
3443
3710
  type: 'function',
3444
- name: 'emergencyFeesDisabled',
3445
- inputs: [],
3446
- outputs: [{ name: '', type: 'bool' }],
3447
- stateMutability: 'view',
3448
- },
3449
- {
3450
- type: 'function',
3451
- name: 'emergencyGuardian',
3711
+ name: 'distributor',
3452
3712
  inputs: [],
3453
3713
  outputs: [{ name: '', type: 'address' }],
3454
3714
  stateMutability: 'view',
3455
3715
  },
3456
3716
  {
3457
3717
  type: 'function',
3458
- name: 'engine',
3718
+ name: 'distributorFee',
3459
3719
  inputs: [],
3460
- outputs: [{ name: '', type: 'address' }],
3720
+ outputs: [
3721
+ { name: 'recipient', type: 'address' },
3722
+ { name: 'rateBps', type: 'uint16' },
3723
+ ],
3461
3724
  stateMutability: 'view',
3462
3725
  },
3463
3726
  {
3464
3727
  type: 'function',
3465
- name: 'engineMigrationMode',
3728
+ name: 'distributorUpdateDelay',
3466
3729
  inputs: [],
3467
- outputs: [{ name: '', type: 'uint8' }],
3730
+ outputs: [{ name: '', type: 'uint40' }],
3468
3731
  stateMutability: 'view',
3469
3732
  },
3470
3733
  {
3471
3734
  type: 'function',
3472
- name: 'engineShares',
3735
+ name: 'earnFees',
3473
3736
  inputs: [],
3474
- outputs: [{ name: '', type: 'uint256' }],
3737
+ outputs: [{ name: '', type: 'address' }],
3475
3738
  stateMutability: 'view',
3476
3739
  },
3477
3740
  {
3478
3741
  type: 'function',
3479
- name: 'excessFeeCap',
3742
+ name: 'earnShare',
3480
3743
  inputs: [],
3481
- outputs: [{ name: '', type: 'uint96' }],
3744
+ outputs: [{ name: '', type: 'address' }],
3482
3745
  stateMutability: 'view',
3483
3746
  },
3484
3747
  {
3485
3748
  type: 'function',
3486
- name: 'feeAdministrator',
3749
+ name: 'emergencyGuardian',
3487
3750
  inputs: [],
3488
3751
  outputs: [{ name: '', type: 'address' }],
3489
3752
  stateMutability: 'view',
3490
3753
  },
3491
3754
  {
3492
3755
  type: 'function',
3493
- name: 'feeConfig',
3494
- inputs: [{ name: 'configId', type: 'uint64' }],
3495
- outputs: [
3496
- {
3497
- name: '',
3498
- type: 'tuple',
3499
- components: [
3500
- { name: 'fixedFeeCount', type: 'uint8' },
3501
- {
3502
- name: 'fixedFees',
3503
- type: 'tuple[4]',
3504
- components: [
3505
- { name: 'account', type: 'address' },
3506
- { name: 'rate', type: 'uint96' },
3507
- ],
3508
- },
3509
- {
3510
- name: 'excess',
3511
- type: 'tuple',
3512
- components: [
3513
- { name: 'enabled', type: 'bool' },
3514
- { name: 'account', type: 'address' },
3515
- { name: 'annualTargetRate', type: 'uint96' },
3516
- { name: 'excessFeeRate', type: 'uint96' },
3517
- ],
3518
- },
3519
- ],
3520
- },
3521
- ],
3756
+ name: 'engine',
3757
+ inputs: [],
3758
+ outputs: [{ name: '', type: 'address' }],
3522
3759
  stateMutability: 'view',
3523
3760
  },
3524
3761
  {
3525
3762
  type: 'function',
3526
- name: 'feeGuardian',
3763
+ name: 'engineMigrationMode',
3527
3764
  inputs: [],
3528
- outputs: [{ name: '', type: 'address' }],
3765
+ outputs: [{ name: '', type: 'uint8' }],
3529
3766
  stateMutability: 'view',
3530
3767
  },
3531
3768
  {
3532
3769
  type: 'function',
3533
- name: 'feeRemainder',
3534
- inputs: [
3535
- { name: 'configId', type: 'uint64' },
3536
- { name: 'slot', type: 'uint8' },
3537
- ],
3770
+ name: 'engineShares',
3771
+ inputs: [],
3538
3772
  outputs: [{ name: '', type: 'uint256' }],
3539
3773
  stateMutability: 'view',
3540
3774
  },
3541
3775
  {
3542
3776
  type: 'function',
3543
- name: 'feesActive',
3777
+ name: 'executeDistributorFeeUpdate',
3544
3778
  inputs: [],
3545
- outputs: [{ name: '', type: 'bool' }],
3546
- stateMutability: 'view',
3779
+ outputs: [{ name: 'feeConfigId', type: 'uint64' }],
3780
+ stateMutability: 'nonpayable',
3547
3781
  },
3548
3782
  {
3549
3783
  type: 'function',
@@ -3556,26 +3790,13 @@ exports.vaultAdapter = [
3556
3790
  outputs: [],
3557
3791
  stateMutability: 'nonpayable',
3558
3792
  },
3559
- {
3560
- type: 'function',
3561
- name: 'fixedFeeCap',
3562
- inputs: [],
3563
- outputs: [{ name: '', type: 'uint96' }],
3564
- stateMutability: 'view',
3565
- },
3566
- {
3567
- type: 'function',
3568
- name: 'highWaterMark',
3569
- inputs: [],
3570
- outputs: [{ name: '', type: 'uint256' }],
3571
- stateMutability: 'view',
3572
- },
3573
3793
  {
3574
3794
  type: 'function',
3575
3795
  name: 'initialize',
3576
3796
  inputs: [
3577
3797
  { name: 'engine_', type: 'address' },
3578
- { name: 'shareToken_', type: 'address' },
3798
+ { name: 'earnShare_', type: 'address' },
3799
+ { name: 'earnFees_', type: 'address' },
3579
3800
  { name: 'operator_', type: 'address' },
3580
3801
  {
3581
3802
  name: 'controlInit_',
@@ -3583,42 +3804,16 @@ exports.vaultAdapter = [
3583
3804
  components: [
3584
3805
  { name: 'emergencyGuardian', type: 'address' },
3585
3806
  { name: 'asyncJanitor', type: 'address' },
3807
+ { name: 'maxManagedAssets', type: 'uint256' },
3586
3808
  { name: 'migrationMode', type: 'uint8' },
3587
3809
  ],
3588
3810
  },
3589
3811
  {
3590
- name: 'feeInit_',
3812
+ name: 'distributorInit_',
3591
3813
  type: 'tuple',
3592
3814
  components: [
3593
- { name: 'administrator', type: 'address' },
3594
- { name: 'guardian', type: 'address' },
3595
- { name: 'fixedFeeCap', type: 'uint96' },
3596
- { name: 'excessFeeCap', type: 'uint96' },
3597
- {
3598
- name: 'initialConfig',
3599
- type: 'tuple',
3600
- components: [
3601
- { name: 'fixedFeeCount', type: 'uint8' },
3602
- {
3603
- name: 'fixedFees',
3604
- type: 'tuple[4]',
3605
- components: [
3606
- { name: 'account', type: 'address' },
3607
- { name: 'rate', type: 'uint96' },
3608
- ],
3609
- },
3610
- {
3611
- name: 'excess',
3612
- type: 'tuple',
3613
- components: [
3614
- { name: 'enabled', type: 'bool' },
3615
- { name: 'account', type: 'address' },
3616
- { name: 'annualTargetRate', type: 'uint96' },
3617
- { name: 'excessFeeRate', type: 'uint96' },
3618
- ],
3619
- },
3620
- ],
3621
- },
3815
+ { name: 'distributor', type: 'address' },
3816
+ { name: 'updateDelay', type: 'uint40' },
3622
3817
  ],
3623
3818
  },
3624
3819
  ],
@@ -3627,22 +3822,36 @@ exports.vaultAdapter = [
3627
3822
  },
3628
3823
  {
3629
3824
  type: 'function',
3630
- name: 'isSynced',
3825
+ name: 'isAccountingAligned',
3631
3826
  inputs: [],
3632
3827
  outputs: [{ name: '', type: 'bool' }],
3633
3828
  stateMutability: 'view',
3634
3829
  },
3830
+ {
3831
+ type: 'function',
3832
+ name: 'maxManagedAssets',
3833
+ inputs: [],
3834
+ outputs: [{ name: '', type: 'uint256' }],
3835
+ stateMutability: 'view',
3836
+ },
3635
3837
  {
3636
3838
  type: 'function',
3637
3839
  name: 'migrateEngine',
3638
3840
  inputs: [
3639
3841
  { name: 'newEngine', type: 'address' },
3640
- { name: 'minNewShares', type: 'uint256' },
3842
+ { name: 'minNewEngineShares', type: 'uint256' },
3641
3843
  { name: 'minAssetsRetained', type: 'uint256' },
3642
3844
  ],
3643
- outputs: [{ name: 'newShares', type: 'uint256' }],
3845
+ outputs: [{ name: 'newEngineShares', type: 'uint256' }],
3644
3846
  stateMutability: 'nonpayable',
3645
3847
  },
3848
+ {
3849
+ type: 'function',
3850
+ name: 'openRedeemRequestCount',
3851
+ inputs: [],
3852
+ outputs: [{ name: '', type: 'uint256' }],
3853
+ stateMutability: 'view',
3854
+ },
3646
3855
  {
3647
3856
  type: 'function',
3648
3857
  name: 'operator',
@@ -3652,23 +3861,24 @@ exports.vaultAdapter = [
3652
3861
  },
3653
3862
  {
3654
3863
  type: 'function',
3655
- name: 'pendingRedeem',
3656
- inputs: [{ name: 'requestId', type: 'bytes32' }],
3864
+ name: 'pendingDistributor',
3865
+ inputs: [],
3866
+ outputs: [{ name: '', type: 'address' }],
3867
+ stateMutability: 'view',
3868
+ },
3869
+ {
3870
+ type: 'function',
3871
+ name: 'pendingDistributorFeeUpdate',
3872
+ inputs: [],
3657
3873
  outputs: [
3658
3874
  {
3659
3875
  name: '',
3660
3876
  type: 'tuple',
3661
3877
  components: [
3662
- { name: 'receiver', type: 'address' },
3663
- { name: 'requester', type: 'address' },
3664
- { name: 'burnedEarnToken', type: 'uint256' },
3665
- { name: 'venueShares', type: 'uint256' },
3666
- { name: 'requestValue', type: 'uint256' },
3667
- { name: 'highWaterValue', type: 'uint256' },
3668
- { name: 'targetValue', type: 'uint256' },
3669
- { name: 'feeConfigId', type: 'uint64' },
3670
- { name: 'requestedAt', type: 'uint40' },
3671
- { name: 'open', type: 'bool' },
3878
+ { name: 'recipient', type: 'address' },
3879
+ { name: 'rateBps', type: 'uint16' },
3880
+ { name: 'executableAt', type: 'uint40' },
3881
+ { name: 'pending', type: 'bool' },
3672
3882
  ],
3673
3883
  },
3674
3884
  ],
@@ -3676,39 +3886,18 @@ exports.vaultAdapter = [
3676
3886
  },
3677
3887
  {
3678
3888
  type: 'function',
3679
- name: 'pendingRedeemCount',
3680
- inputs: [],
3681
- outputs: [{ name: '', type: 'uint256' }],
3682
- stateMutability: 'view',
3683
- },
3684
- {
3685
- type: 'function',
3686
- name: 'previewAccruedFees',
3687
- inputs: [],
3889
+ name: 'pendingRedeem',
3890
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
3688
3891
  outputs: [
3689
3892
  {
3690
- name: 'result',
3893
+ name: '',
3691
3894
  type: 'tuple',
3692
3895
  components: [
3693
- { name: 'activeAssets', type: 'uint256' },
3694
- { name: 'positiveAccrualAssets', type: 'uint256' },
3695
- { name: 'fixedFeeAssets', type: 'uint256' },
3696
- { name: 'excessFeeAssets', type: 'uint256' },
3697
- { name: 'totalFeeAssets', type: 'uint256' },
3698
- { name: 'totalFeeShares', type: 'uint256' },
3699
- { name: 'preFeeValuePerShare', type: 'uint256' },
3700
- { name: 'postFeeValuePerShare', type: 'uint256' },
3701
- { name: 'targetValuePerShare', type: 'uint256' },
3702
- { name: 'allocationCount', type: 'uint8' },
3703
- {
3704
- name: 'allocations',
3705
- type: 'tuple[5]',
3706
- components: [
3707
- { name: 'account', type: 'address' },
3708
- { name: 'feeAssets', type: 'uint256' },
3709
- { name: 'feeShares', type: 'uint256' },
3710
- ],
3711
- },
3896
+ { name: 'receiver', type: 'address' },
3897
+ { name: 'requester', type: 'address' },
3898
+ { name: 'burnedEarnShares', type: 'uint256' },
3899
+ { name: 'engineShares', type: 'uint256' },
3900
+ { name: 'open', type: 'bool' },
3712
3901
  ],
3713
3902
  },
3714
3903
  ],
@@ -3717,7 +3906,7 @@ exports.vaultAdapter = [
3717
3906
  {
3718
3907
  type: 'function',
3719
3908
  name: 'previewRedeem',
3720
- inputs: [{ name: 'shares', type: 'uint256' }],
3909
+ inputs: [{ name: 'earnShares', type: 'uint256' }],
3721
3910
  outputs: [{ name: 'assets', type: 'uint256' }],
3722
3911
  stateMutability: 'view',
3723
3912
  },
@@ -3725,14 +3914,14 @@ exports.vaultAdapter = [
3725
3914
  type: 'function',
3726
3915
  name: 'previewWithdraw',
3727
3916
  inputs: [{ name: 'assets', type: 'uint256' }],
3728
- outputs: [{ name: 'shares', type: 'uint256' }],
3917
+ outputs: [{ name: 'earnShares', type: 'uint256' }],
3729
3918
  stateMutability: 'view',
3730
3919
  },
3731
3920
  {
3732
3921
  type: 'function',
3733
3922
  name: 'redeem',
3734
3923
  inputs: [
3735
- { name: 'shares', type: 'uint256' },
3924
+ { name: 'earnShares', type: 'uint256' },
3736
3925
  { name: 'receiver', type: 'address' },
3737
3926
  { name: 'minAssets', type: 'uint256' },
3738
3927
  ],
@@ -3741,15 +3930,32 @@ exports.vaultAdapter = [
3741
3930
  },
3742
3931
  {
3743
3932
  type: 'function',
3744
- name: 'requestRedeemAsync',
3933
+ name: 'remainingDepositCapacity',
3934
+ inputs: [],
3935
+ outputs: [{ name: 'assets', type: 'uint256' }],
3936
+ stateMutability: 'view',
3937
+ },
3938
+ {
3939
+ type: 'function',
3940
+ name: 'requestRedeem',
3745
3941
  inputs: [
3746
- { name: 'shares', type: 'uint256' },
3942
+ { name: 'earnShares', type: 'uint256' },
3747
3943
  { name: 'engineData', type: 'bytes' },
3748
3944
  { name: 'receiver', type: 'address' },
3749
3945
  ],
3750
3946
  outputs: [{ name: 'requestId', type: 'bytes32' }],
3751
3947
  stateMutability: 'nonpayable',
3752
3948
  },
3949
+ {
3950
+ type: 'function',
3951
+ name: 'scheduleDistributorFeeUpdate',
3952
+ inputs: [
3953
+ { name: 'recipient', type: 'address' },
3954
+ { name: 'rateBps', type: 'uint16' },
3955
+ ],
3956
+ outputs: [],
3957
+ stateMutability: 'nonpayable',
3958
+ },
3753
3959
  {
3754
3960
  type: 'function',
3755
3961
  name: 'setDepositsPaused',
@@ -3781,7 +3987,7 @@ exports.vaultAdapter = [
3781
3987
  type: 'tuple[4]',
3782
3988
  components: [
3783
3989
  { name: 'account', type: 'address' },
3784
- { name: 'rate', type: 'uint96' },
3990
+ { name: 'rateBps', type: 'uint16' },
3785
3991
  ],
3786
3992
  },
3787
3993
  {
@@ -3790,8 +3996,8 @@ exports.vaultAdapter = [
3790
3996
  components: [
3791
3997
  { name: 'enabled', type: 'bool' },
3792
3998
  { name: 'account', type: 'address' },
3793
- { name: 'annualTargetRate', type: 'uint96' },
3794
- { name: 'excessFeeRate', type: 'uint96' },
3999
+ { name: 'annualTargetRateBps', type: 'uint16' },
4000
+ { name: 'excessFeeRateBps', type: 'uint16' },
3795
4001
  ],
3796
4002
  },
3797
4003
  ],
@@ -3802,52 +4008,24 @@ exports.vaultAdapter = [
3802
4008
  },
3803
4009
  {
3804
4010
  type: 'function',
3805
- name: 'shareSupply',
3806
- inputs: [],
3807
- outputs: [{ name: '', type: 'uint256' }],
3808
- stateMutability: 'view',
3809
- },
3810
- {
3811
- type: 'function',
3812
- name: 'shareToken',
3813
- inputs: [],
3814
- outputs: [{ name: '', type: 'address' }],
3815
- stateMutability: 'view',
3816
- },
3817
- {
3818
- type: 'function',
3819
- name: 'sharesToTokens',
3820
- inputs: [{ name: 'shares', type: 'uint256' }],
3821
- outputs: [{ name: '', type: 'uint256' }],
3822
- stateMutability: 'view',
3823
- },
3824
- {
3825
- type: 'function',
3826
- name: 'targetBase',
3827
- inputs: [],
3828
- outputs: [{ name: '', type: 'uint256' }],
3829
- stateMutability: 'view',
4011
+ name: 'setMaxManagedAssets',
4012
+ inputs: [{ name: 'newMaxManagedAssets', type: 'uint256' }],
4013
+ outputs: [],
4014
+ stateMutability: 'nonpayable',
3830
4015
  },
3831
4016
  {
3832
4017
  type: 'function',
3833
- name: 'targetStartedAt',
4018
+ name: 'totalEarnShares',
3834
4019
  inputs: [],
3835
- outputs: [{ name: '', type: 'uint40' }],
3836
- stateMutability: 'view',
3837
- },
3838
- {
3839
- type: 'function',
3840
- name: 'tokensToShares',
3841
- inputs: [{ name: 'tokens', type: 'uint256' }],
3842
4020
  outputs: [{ name: '', type: 'uint256' }],
3843
4021
  stateMutability: 'view',
3844
4022
  },
3845
4023
  {
3846
4024
  type: 'function',
3847
- name: 'totalClaimableFeeShares',
3848
- inputs: [],
3849
- outputs: [{ name: '', type: 'uint256' }],
3850
- stateMutability: 'view',
4025
+ name: 'transferDistributor',
4026
+ inputs: [{ name: 'newDistributor', type: 'address' }],
4027
+ outputs: [],
4028
+ stateMutability: 'nonpayable',
3851
4029
  },
3852
4030
  {
3853
4031
  type: 'function',
@@ -3855,9 +4033,9 @@ exports.vaultAdapter = [
3855
4033
  inputs: [
3856
4034
  { name: 'assets', type: 'uint256' },
3857
4035
  { name: 'receiver', type: 'address' },
3858
- { name: 'maxShares', type: 'uint256' },
4036
+ { name: 'maxEarnShares', type: 'uint256' },
3859
4037
  ],
3860
- outputs: [{ name: 'sharesBurned', type: 'uint256' }],
4038
+ outputs: [{ name: 'earnSharesBurned', type: 'uint256' }],
3861
4039
  stateMutability: 'nonpayable',
3862
4040
  },
3863
4041
  {
@@ -3866,9 +4044,9 @@ exports.vaultAdapter = [
3866
4044
  inputs: [
3867
4045
  { name: 'caller', type: 'address', indexed: true },
3868
4046
  { name: 'assets', type: 'uint256', indexed: false },
3869
- { name: 'venueShares', type: 'uint256', indexed: false },
4047
+ { name: 'engineShares', type: 'uint256', indexed: false },
3870
4048
  { name: 'anchorEngineShares', type: 'uint256', indexed: false },
3871
- { name: 'anchorSupply', type: 'uint256', indexed: false },
4049
+ { name: 'anchorEarnShares', type: 'uint256', indexed: false },
3872
4050
  ],
3873
4051
  anonymous: false,
3874
4052
  },
@@ -3888,103 +4066,95 @@ exports.vaultAdapter = [
3888
4066
  { name: 'caller', type: 'address', indexed: true },
3889
4067
  { name: 'receiver', type: 'address', indexed: true },
3890
4068
  { name: 'assets', type: 'uint256', indexed: false },
3891
- { name: 'shares', type: 'uint256', indexed: false },
4069
+ { name: 'earnShares', type: 'uint256', indexed: false },
3892
4070
  ],
3893
4071
  anonymous: false,
3894
4072
  },
3895
4073
  {
3896
4074
  type: 'event',
3897
- name: 'EmergencyRolesChanged',
3898
- inputs: [
3899
- { name: 'emergencyGuardian', type: 'address', indexed: true },
3900
- { name: 'asyncJanitor', type: 'address', indexed: true },
3901
- ],
4075
+ name: 'DistributorFeeUpdateCancelled',
4076
+ inputs: [{ name: 'distributor', type: 'address', indexed: true }],
3902
4077
  anonymous: false,
3903
4078
  },
3904
4079
  {
3905
4080
  type: 'event',
3906
- name: 'EngineMigrated',
4081
+ name: 'DistributorFeeUpdateScheduled',
3907
4082
  inputs: [
3908
- { name: 'oldEngine', type: 'address', indexed: true },
3909
- { name: 'newEngine', type: 'address', indexed: true },
3910
- { name: 'oldShares', type: 'uint256', indexed: false },
3911
- { name: 'assetsMoved', type: 'uint256', indexed: false },
3912
- { name: 'newShares', type: 'uint256', indexed: false },
3913
- { name: 'shareSupply', type: 'uint256', indexed: false },
3914
- { name: 'anchorEngineShares', type: 'uint256', indexed: false },
3915
- { name: 'anchorSupply', type: 'uint256', indexed: false },
4083
+ { name: 'distributor', type: 'address', indexed: true },
4084
+ { name: 'recipient', type: 'address', indexed: true },
4085
+ { name: 'rateBps', type: 'uint16', indexed: false },
4086
+ { name: 'executableAt', type: 'uint40', indexed: false },
3916
4087
  ],
3917
4088
  anonymous: false,
3918
4089
  },
3919
4090
  {
3920
4091
  type: 'event',
3921
- name: 'FeeBaselinesInitialized',
4092
+ name: 'DistributorFeeUpdated',
3922
4093
  inputs: [
3923
- { name: 'highWaterMark', type: 'uint256', indexed: false },
3924
- { name: 'targetBase', type: 'uint256', indexed: false },
3925
- { name: 'targetStartedAt', type: 'uint40', indexed: false },
4094
+ { name: 'recipient', type: 'address', indexed: true },
4095
+ { name: 'rateBps', type: 'uint16', indexed: false },
4096
+ { name: 'feeConfigId', type: 'uint64', indexed: true },
3926
4097
  ],
3927
4098
  anonymous: false,
3928
4099
  },
3929
4100
  {
3930
4101
  type: 'event',
3931
- name: 'FeeConfigurationSet',
4102
+ name: 'DistributorTransferCancelled',
3932
4103
  inputs: [
3933
- { name: 'configId', type: 'uint64', indexed: true },
3934
- { name: 'configHash', type: 'bytes32', indexed: true },
3935
- { name: 'reactivated', type: 'bool', indexed: false },
4104
+ { name: 'distributor', type: 'address', indexed: true },
4105
+ { name: 'pendingDistributor', type: 'address', indexed: true },
3936
4106
  ],
3937
4107
  anonymous: false,
3938
4108
  },
3939
4109
  {
3940
4110
  type: 'event',
3941
- name: 'FeeDustWaived',
4111
+ name: 'DistributorTransferStarted',
3942
4112
  inputs: [
3943
- { name: 'configId', type: 'uint64', indexed: true },
3944
- { name: 'slot', type: 'uint8', indexed: true },
3945
- { name: 'remainder', type: 'uint256', indexed: false },
4113
+ { name: 'distributor', type: 'address', indexed: true },
4114
+ { name: 'pendingDistributor', type: 'address', indexed: true },
3946
4115
  ],
3947
4116
  anonymous: false,
3948
4117
  },
3949
4118
  {
3950
4119
  type: 'event',
3951
- name: 'FeeSharesAllocated',
4120
+ name: 'DistributorTransferred',
3952
4121
  inputs: [
3953
- { name: 'configId', type: 'uint64', indexed: true },
3954
- { name: 'recipient', type: 'address', indexed: true },
3955
- { name: 'feeAssets', type: 'uint256', indexed: false },
3956
- { name: 'feeShares', type: 'uint256', indexed: false },
4122
+ { name: 'previousDistributor', type: 'address', indexed: true },
4123
+ { name: 'newDistributor', type: 'address', indexed: true },
3957
4124
  ],
3958
4125
  anonymous: false,
3959
4126
  },
3960
4127
  {
3961
4128
  type: 'event',
3962
- name: 'FeeSharesClaimed',
4129
+ name: 'EmergencyRolesChanged',
3963
4130
  inputs: [
3964
- { name: 'recipient', type: 'address', indexed: true },
3965
- { name: 'to', type: 'address', indexed: true },
3966
- { name: 'shares', type: 'uint256', indexed: false },
4131
+ { name: 'emergencyGuardian', type: 'address', indexed: true },
4132
+ { name: 'asyncJanitor', type: 'address', indexed: true },
3967
4133
  ],
3968
4134
  anonymous: false,
3969
4135
  },
3970
4136
  {
3971
4137
  type: 'event',
3972
- name: 'FeesAccrued',
4138
+ name: 'EngineMigrated',
3973
4139
  inputs: [
3974
- { name: 'configId', type: 'uint64', indexed: true },
3975
- { name: 'activeAssets', type: 'uint256', indexed: false },
3976
- { name: 'positiveAccrualAssets', type: 'uint256', indexed: false },
3977
- { name: 'feeAssets', type: 'uint256', indexed: false },
3978
- { name: 'feeShares', type: 'uint256', indexed: false },
3979
- { name: 'highWaterMark', type: 'uint256', indexed: false },
3980
- { name: 'targetValuePerShare', type: 'uint256', indexed: false },
4140
+ { name: 'oldEngine', type: 'address', indexed: true },
4141
+ { name: 'newEngine', type: 'address', indexed: true },
4142
+ { name: 'oldEngineShares', type: 'uint256', indexed: false },
4143
+ { name: 'assetsMoved', type: 'uint256', indexed: false },
4144
+ { name: 'newEngineShares', type: 'uint256', indexed: false },
4145
+ { name: 'totalEarnShares', type: 'uint256', indexed: false },
4146
+ { name: 'anchorEngineShares', type: 'uint256', indexed: false },
4147
+ { name: 'anchorEarnShares', type: 'uint256', indexed: false },
3981
4148
  ],
3982
4149
  anonymous: false,
3983
4150
  },
3984
4151
  {
3985
4152
  type: 'event',
3986
- name: 'FeesDisabled',
3987
- inputs: [{ name: 'guardian', type: 'address', indexed: true }],
4153
+ name: 'MaxManagedAssetsChanged',
4154
+ inputs: [
4155
+ { name: 'previousMaxManagedAssets', type: 'uint256', indexed: false },
4156
+ { name: 'newMaxManagedAssets', type: 'uint256', indexed: false },
4157
+ ],
3988
4158
  anonymous: false,
3989
4159
  },
3990
4160
  {
@@ -3993,7 +4163,7 @@ exports.vaultAdapter = [
3993
4163
  inputs: [
3994
4164
  { name: 'requestId', type: 'bytes32', indexed: true },
3995
4165
  { name: 'receiver', type: 'address', indexed: true },
3996
- { name: 'shares', type: 'uint256', indexed: false },
4166
+ { name: 'earnShares', type: 'uint256', indexed: false },
3997
4167
  ],
3998
4168
  anonymous: false,
3999
4169
  },
@@ -4003,9 +4173,9 @@ exports.vaultAdapter = [
4003
4173
  inputs: [
4004
4174
  { name: 'requestId', type: 'bytes32', indexed: true },
4005
4175
  { name: 'receiver', type: 'address', indexed: true },
4006
- { name: 'shares', type: 'uint256', indexed: false },
4176
+ { name: 'earnShares', type: 'uint256', indexed: false },
4007
4177
  { name: 'asset', type: 'address', indexed: false },
4008
- { name: 'amount', type: 'uint256', indexed: false },
4178
+ { name: 'assets', type: 'uint256', indexed: false },
4009
4179
  ],
4010
4180
  anonymous: false,
4011
4181
  },
@@ -4016,7 +4186,7 @@ exports.vaultAdapter = [
4016
4186
  { name: 'requestId', type: 'bytes32', indexed: true },
4017
4187
  { name: 'requester', type: 'address', indexed: true },
4018
4188
  { name: 'receiver', type: 'address', indexed: true },
4019
- { name: 'shares', type: 'uint256', indexed: false },
4189
+ { name: 'earnShares', type: 'uint256', indexed: false },
4020
4190
  ],
4021
4191
  anonymous: false,
4022
4192
  },
@@ -4026,7 +4196,7 @@ exports.vaultAdapter = [
4026
4196
  inputs: [
4027
4197
  { name: 'caller', type: 'address', indexed: true },
4028
4198
  { name: 'receiver', type: 'address', indexed: true },
4029
- { name: 'shares', type: 'uint256', indexed: false },
4199
+ { name: 'earnShares', type: 'uint256', indexed: false },
4030
4200
  { name: 'assets', type: 'uint256', indexed: false },
4031
4201
  ],
4032
4202
  anonymous: false,
@@ -4038,7 +4208,7 @@ exports.vaultAdapter = [
4038
4208
  { name: 'caller', type: 'address', indexed: true },
4039
4209
  { name: 'receiver', type: 'address', indexed: true },
4040
4210
  { name: 'requestedVenueShares', type: 'uint256', indexed: false },
4041
- { name: 'receivedVenueShares', type: 'uint256', indexed: false },
4211
+ { name: 'receivedEngineShares', type: 'uint256', indexed: false },
4042
4212
  { name: 'earnShares', type: 'uint256', indexed: false },
4043
4213
  ],
4044
4214
  anonymous: false,
@@ -4050,12 +4220,20 @@ exports.vaultAdapter = [
4050
4220
  { name: 'caller', type: 'address', indexed: true },
4051
4221
  { name: 'receiver', type: 'address', indexed: true },
4052
4222
  { name: 'assets', type: 'uint256', indexed: false },
4053
- { name: 'sharesBurned', type: 'uint256', indexed: false },
4223
+ { name: 'earnSharesBurned', type: 'uint256', indexed: false },
4054
4224
  ],
4055
4225
  anonymous: false,
4056
4226
  },
4227
+ { type: 'error', name: 'ActiveSupplyWithoutBacking', inputs: [] },
4057
4228
  { type: 'error', name: 'AlreadyInitialized', inputs: [] },
4058
4229
  { type: 'error', name: 'DepositsPaused', inputs: [] },
4230
+ { type: 'error', name: 'DistributorFeeUpdateNotPending', inputs: [] },
4231
+ {
4232
+ type: 'error',
4233
+ name: 'DistributorFeeUpdateNotReady',
4234
+ inputs: [{ name: 'executableAt', type: 'uint40' }],
4235
+ },
4236
+ { type: 'error', name: 'DistributorTransferNotPending', inputs: [] },
4059
4237
  {
4060
4238
  type: 'error',
4061
4239
  name: 'DuplicateRequest',
@@ -4067,7 +4245,8 @@ exports.vaultAdapter = [
4067
4245
  name: 'EngineCapabilityUnsupported',
4068
4246
  inputs: [{ name: 'interfaceId', type: 'bytes4' }],
4069
4247
  },
4070
- { type: 'error', name: 'ExceedsMaxShares', inputs: [] },
4248
+ { type: 'error', name: 'EngineExitUnsupported', inputs: [] },
4249
+ { type: 'error', name: 'ExceedsMaxEarnShares', inputs: [] },
4071
4250
  {
4072
4251
  type: 'error',
4073
4252
  name: 'ExcessiveConversionLoss',
@@ -4076,14 +4255,26 @@ exports.vaultAdapter = [
4076
4255
  { name: 'representedShares', type: 'uint256' },
4077
4256
  ],
4078
4257
  },
4079
- { type: 'error', name: 'FeeCapTooHigh', inputs: [] },
4080
- { type: 'error', name: 'FeesPermanentlyDisabled', inputs: [] },
4081
- { type: 'error', name: 'InitialShareSupplyNotZero', inputs: [] },
4082
- { type: 'error', name: 'InsufficientClaimableFeeShares', inputs: [] },
4258
+ {
4259
+ type: 'error',
4260
+ name: 'FinalizedAssetMismatch',
4261
+ inputs: [{ name: 'finalizedAsset', type: 'address' }],
4262
+ },
4263
+ { type: 'error', name: 'GlobalFeeDisableUnavailable', inputs: [] },
4264
+ { type: 'error', name: 'InitialEarnShareSupplyNotZero', inputs: [] },
4083
4265
  { type: 'error', name: 'InsufficientOutput', inputs: [] },
4084
- { type: 'error', name: 'InvalidFeeClaimReceiver', inputs: [] },
4085
- { type: 'error', name: 'InvalidFeeConfiguration', inputs: [] },
4086
- { type: 'error', name: 'InvalidShareDecimals', inputs: [] },
4266
+ { type: 'error', name: 'InvalidDistributorConfiguration', inputs: [] },
4267
+ { type: 'error', name: 'InvalidDistributorFeeConfiguration', inputs: [] },
4268
+ { type: 'error', name: 'InvalidEarnDecimals', inputs: [] },
4269
+ { type: 'error', name: 'InvalidEngineShareScale', inputs: [] },
4270
+ {
4271
+ type: 'error',
4272
+ name: 'MaxManagedAssetsExceeded',
4273
+ inputs: [
4274
+ { name: 'maximum', type: 'uint256' },
4275
+ { name: 'actual', type: 'uint256' },
4276
+ ],
4277
+ },
4087
4278
  {
4088
4279
  type: 'error',
4089
4280
  name: 'MinimumAssetsNotMet',
@@ -4094,18 +4285,26 @@ exports.vaultAdapter = [
4094
4285
  },
4095
4286
  {
4096
4287
  type: 'error',
4097
- name: 'MinimumSharesNotMet',
4288
+ name: 'MinimumEarnSharesNotMet',
4098
4289
  inputs: [
4099
- { name: 'minimumShares', type: 'uint256' },
4100
- { name: 'actualShares', type: 'uint256' },
4290
+ { name: 'minimumEarnShares', type: 'uint256' },
4291
+ { name: 'actualEarnShares', type: 'uint256' },
4292
+ ],
4293
+ },
4294
+ {
4295
+ type: 'error',
4296
+ name: 'MinimumEngineSharesNotMet',
4297
+ inputs: [
4298
+ { name: 'minimumEngineShares', type: 'uint256' },
4299
+ { name: 'actualEngineShares', type: 'uint256' },
4101
4300
  ],
4102
4301
  },
4103
- { type: 'error', name: 'NoShareSupply', inputs: [] },
4302
+ { type: 'error', name: 'NoEarnShares', inputs: [] },
4303
+ { type: 'error', name: 'NotDistributor', inputs: [] },
4104
4304
  { type: 'error', name: 'NotEmergencyGuardianOrOperator', inputs: [] },
4105
4305
  { type: 'error', name: 'NotEngine', inputs: [] },
4106
- { type: 'error', name: 'NotFeeAdministrator', inputs: [] },
4107
- { type: 'error', name: 'NotFeeGuardian', inputs: [] },
4108
4306
  { type: 'error', name: 'NotOperator', inputs: [] },
4307
+ { type: 'error', name: 'NotPendingDistributor', inputs: [] },
4109
4308
  { type: 'error', name: 'NotRequesterOrJanitor', inputs: [] },
4110
4309
  { type: 'error', name: 'OperatorMigrationDisabled', inputs: [] },
4111
4310
  { type: 'error', name: 'PendingRedeemsOpen', inputs: [] },
@@ -4122,9 +4321,462 @@ exports.vaultAdapter = [
4122
4321
  { type: 'error', name: 'ZeroAddress', inputs: [] },
4123
4322
  { type: 'error', name: 'ZeroAmount', inputs: [] },
4124
4323
  { type: 'error', name: 'ZeroMinimumAssets', inputs: [] },
4125
- { type: 'error', name: 'ZeroMinimumShares', inputs: [] },
4324
+ { type: 'error', name: 'ZeroMinimumEarnShares', inputs: [] },
4325
+ { type: 'error', name: 'ZeroMinimumEngineShares', inputs: [] },
4326
+ ];
4327
+ exports.earnFees = [
4328
+ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
4329
+ {
4330
+ type: 'function',
4331
+ name: 'accrueFees',
4332
+ inputs: [],
4333
+ outputs: [
4334
+ {
4335
+ name: 'result',
4336
+ type: 'tuple',
4337
+ components: [
4338
+ { name: 'activeAssets', type: 'uint256' },
4339
+ { name: 'positiveAccrualAssets', type: 'uint256' },
4340
+ { name: 'fixedFeeAssets', type: 'uint256' },
4341
+ { name: 'excessFeeAssets', type: 'uint256' },
4342
+ { name: 'totalFeeAssets', type: 'uint256' },
4343
+ { name: 'totalFeeEarnShares', type: 'uint256' },
4344
+ { name: 'preFeeValuePerEarnShare', type: 'uint256' },
4345
+ { name: 'postFeeValuePerEarnShare', type: 'uint256' },
4346
+ { name: 'targetValuePerEarnShare', type: 'uint256' },
4347
+ { name: 'allocationCount', type: 'uint8' },
4348
+ {
4349
+ name: 'allocations',
4350
+ type: 'tuple[5]',
4351
+ components: [
4352
+ { name: 'account', type: 'address' },
4353
+ { name: 'feeAssets', type: 'uint256' },
4354
+ { name: 'feeEarnShares', type: 'uint256' },
4355
+ ],
4356
+ },
4357
+ ],
4358
+ },
4359
+ ],
4360
+ stateMutability: 'nonpayable',
4361
+ },
4362
+ {
4363
+ type: 'function',
4364
+ name: 'claim',
4365
+ inputs: [
4366
+ { name: 'to', type: 'address' },
4367
+ { name: 'earnShares', type: 'uint256' },
4368
+ ],
4369
+ outputs: [],
4370
+ stateMutability: 'nonpayable',
4371
+ },
4372
+ {
4373
+ type: 'function',
4374
+ name: 'claimableEarnShares',
4375
+ inputs: [{ name: 'recipient', type: 'address' }],
4376
+ outputs: [{ name: 'earnShares', type: 'uint256' }],
4377
+ stateMutability: 'view',
4378
+ },
4379
+ {
4380
+ type: 'function',
4381
+ name: 'closeRedeemRequest',
4382
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
4383
+ outputs: [],
4384
+ stateMutability: 'nonpayable',
4385
+ },
4386
+ {
4387
+ type: 'function',
4388
+ name: 'currentFeeConfigId',
4389
+ inputs: [],
4390
+ outputs: [{ name: '', type: 'uint64' }],
4391
+ stateMutability: 'view',
4392
+ },
4393
+ {
4394
+ type: 'function',
4395
+ name: 'disableFees',
4396
+ inputs: [{ name: 'operator', type: 'address' }],
4397
+ outputs: [],
4398
+ stateMutability: 'nonpayable',
4399
+ },
4400
+ {
4401
+ type: 'function',
4402
+ name: 'earnShare',
4403
+ inputs: [],
4404
+ outputs: [{ name: '', type: 'address' }],
4405
+ stateMutability: 'view',
4406
+ },
4407
+ {
4408
+ type: 'function',
4409
+ name: 'earnShareScale',
4410
+ inputs: [],
4411
+ outputs: [{ name: '', type: 'uint256' }],
4412
+ stateMutability: 'view',
4413
+ },
4414
+ {
4415
+ type: 'function',
4416
+ name: 'earnVault',
4417
+ inputs: [],
4418
+ outputs: [{ name: '', type: 'address' }],
4419
+ stateMutability: 'view',
4420
+ },
4421
+ {
4422
+ type: 'function',
4423
+ name: 'feeConfig',
4424
+ inputs: [{ name: 'configId', type: 'uint64' }],
4425
+ outputs: [
4426
+ {
4427
+ name: '',
4428
+ type: 'tuple',
4429
+ components: [
4430
+ { name: 'fixedFeeCount', type: 'uint8' },
4431
+ {
4432
+ name: 'fixedFees',
4433
+ type: 'tuple[4]',
4434
+ components: [
4435
+ { name: 'account', type: 'address' },
4436
+ { name: 'rateBps', type: 'uint16' },
4437
+ ],
4438
+ },
4439
+ {
4440
+ name: 'excess',
4441
+ type: 'tuple',
4442
+ components: [
4443
+ { name: 'enabled', type: 'bool' },
4444
+ { name: 'account', type: 'address' },
4445
+ { name: 'annualTargetRateBps', type: 'uint16' },
4446
+ { name: 'excessFeeRateBps', type: 'uint16' },
4447
+ ],
4448
+ },
4449
+ ],
4450
+ },
4451
+ ],
4452
+ stateMutability: 'view',
4453
+ },
4454
+ {
4455
+ type: 'function',
4456
+ name: 'feeRemainder',
4457
+ inputs: [
4458
+ { name: 'configId', type: 'uint64' },
4459
+ { name: 'slot', type: 'uint8' },
4460
+ ],
4461
+ outputs: [{ name: '', type: 'uint256' }],
4462
+ stateMutability: 'view',
4463
+ },
4464
+ {
4465
+ type: 'function',
4466
+ name: 'feesActive',
4467
+ inputs: [],
4468
+ outputs: [{ name: '', type: 'bool' }],
4469
+ stateMutability: 'view',
4470
+ },
4471
+ {
4472
+ type: 'function',
4473
+ name: 'feesDisabled',
4474
+ inputs: [],
4475
+ outputs: [{ name: '', type: 'bool' }],
4476
+ stateMutability: 'view',
4477
+ },
4478
+ {
4479
+ type: 'function',
4480
+ name: 'highWaterMark',
4481
+ inputs: [],
4482
+ outputs: [{ name: '', type: 'uint256' }],
4483
+ stateMutability: 'view',
4484
+ },
4485
+ {
4486
+ type: 'function',
4487
+ name: 'initialize',
4488
+ inputs: [
4489
+ { name: 'earnVault_', type: 'address' },
4490
+ { name: 'earnShare_', type: 'address' },
4491
+ {
4492
+ name: 'initialConfig',
4493
+ type: 'tuple',
4494
+ components: [
4495
+ { name: 'fixedFeeCount', type: 'uint8' },
4496
+ {
4497
+ name: 'fixedFees',
4498
+ type: 'tuple[4]',
4499
+ components: [
4500
+ { name: 'account', type: 'address' },
4501
+ { name: 'rateBps', type: 'uint16' },
4502
+ ],
4503
+ },
4504
+ {
4505
+ name: 'excess',
4506
+ type: 'tuple',
4507
+ components: [
4508
+ { name: 'enabled', type: 'bool' },
4509
+ { name: 'account', type: 'address' },
4510
+ { name: 'annualTargetRateBps', type: 'uint16' },
4511
+ { name: 'excessFeeRateBps', type: 'uint16' },
4512
+ ],
4513
+ },
4514
+ ],
4515
+ },
4516
+ ],
4517
+ outputs: [],
4518
+ stateMutability: 'nonpayable',
4519
+ },
4520
+ {
4521
+ type: 'function',
4522
+ name: 'initializeBaselines',
4523
+ inputs: [],
4524
+ outputs: [],
4525
+ stateMutability: 'nonpayable',
4526
+ },
4527
+ {
4528
+ type: 'function',
4529
+ name: 'pendingFeeSnapshot',
4530
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
4531
+ outputs: [
4532
+ {
4533
+ name: '',
4534
+ type: 'tuple',
4535
+ components: [
4536
+ { name: 'burnedEarnShares', type: 'uint256' },
4537
+ { name: 'requestValue', type: 'uint256' },
4538
+ { name: 'highWaterValue', type: 'uint256' },
4539
+ { name: 'targetValue', type: 'uint256' },
4540
+ { name: 'feeConfigId', type: 'uint64' },
4541
+ { name: 'requestedAt', type: 'uint40' },
4542
+ { name: 'open', type: 'bool' },
4543
+ ],
4544
+ },
4545
+ ],
4546
+ stateMutability: 'view',
4547
+ },
4548
+ {
4549
+ type: 'function',
4550
+ name: 'previewAccruedFees',
4551
+ inputs: [],
4552
+ outputs: [
4553
+ {
4554
+ name: 'result',
4555
+ type: 'tuple',
4556
+ components: [
4557
+ { name: 'activeAssets', type: 'uint256' },
4558
+ { name: 'positiveAccrualAssets', type: 'uint256' },
4559
+ { name: 'fixedFeeAssets', type: 'uint256' },
4560
+ { name: 'excessFeeAssets', type: 'uint256' },
4561
+ { name: 'totalFeeAssets', type: 'uint256' },
4562
+ { name: 'totalFeeEarnShares', type: 'uint256' },
4563
+ { name: 'preFeeValuePerEarnShare', type: 'uint256' },
4564
+ { name: 'postFeeValuePerEarnShare', type: 'uint256' },
4565
+ { name: 'targetValuePerEarnShare', type: 'uint256' },
4566
+ { name: 'allocationCount', type: 'uint8' },
4567
+ {
4568
+ name: 'allocations',
4569
+ type: 'tuple[5]',
4570
+ components: [
4571
+ { name: 'account', type: 'address' },
4572
+ { name: 'feeAssets', type: 'uint256' },
4573
+ { name: 'feeEarnShares', type: 'uint256' },
4574
+ ],
4575
+ },
4576
+ ],
4577
+ },
4578
+ ],
4579
+ stateMutability: 'view',
4580
+ },
4581
+ {
4582
+ type: 'function',
4583
+ name: 'recordRedeemRequest',
4584
+ inputs: [
4585
+ { name: 'requestId', type: 'bytes32' },
4586
+ { name: 'burnedEarnShares', type: 'uint256' },
4587
+ { name: 'requestValue', type: 'uint256' },
4588
+ ],
4589
+ outputs: [],
4590
+ stateMutability: 'nonpayable',
4591
+ },
4592
+ {
4593
+ type: 'function',
4594
+ name: 'setFeeConfig',
4595
+ inputs: [
4596
+ {
4597
+ name: 'config',
4598
+ type: 'tuple',
4599
+ components: [
4600
+ { name: 'fixedFeeCount', type: 'uint8' },
4601
+ {
4602
+ name: 'fixedFees',
4603
+ type: 'tuple[4]',
4604
+ components: [
4605
+ { name: 'account', type: 'address' },
4606
+ { name: 'rateBps', type: 'uint16' },
4607
+ ],
4608
+ },
4609
+ {
4610
+ name: 'excess',
4611
+ type: 'tuple',
4612
+ components: [
4613
+ { name: 'enabled', type: 'bool' },
4614
+ { name: 'account', type: 'address' },
4615
+ { name: 'annualTargetRateBps', type: 'uint16' },
4616
+ { name: 'excessFeeRateBps', type: 'uint16' },
4617
+ ],
4618
+ },
4619
+ ],
4620
+ },
4621
+ ],
4622
+ outputs: [{ name: 'configId', type: 'uint64' }],
4623
+ stateMutability: 'nonpayable',
4624
+ },
4625
+ {
4626
+ type: 'function',
4627
+ name: 'settleCancelledRedeem',
4628
+ inputs: [
4629
+ { name: 'requestId', type: 'bytes32' },
4630
+ { name: 'returnedValue', type: 'uint256' },
4631
+ { name: 'activeSupply', type: 'uint256' },
4632
+ { name: 'activeAssets', type: 'uint256' },
4633
+ { name: 'totalReentryEarnShares', type: 'uint256' },
4634
+ ],
4635
+ outputs: [{ name: 'feeEarnShares', type: 'uint256' }],
4636
+ stateMutability: 'nonpayable',
4637
+ },
4638
+ {
4639
+ type: 'function',
4640
+ name: 'shouldChargeRedeem',
4641
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
4642
+ outputs: [{ name: '', type: 'bool' }],
4643
+ stateMutability: 'view',
4644
+ },
4645
+ {
4646
+ type: 'function',
4647
+ name: 'targetBase',
4648
+ inputs: [],
4649
+ outputs: [{ name: '', type: 'uint256' }],
4650
+ stateMutability: 'view',
4651
+ },
4652
+ {
4653
+ type: 'function',
4654
+ name: 'targetStartedAt',
4655
+ inputs: [],
4656
+ outputs: [{ name: '', type: 'uint40' }],
4657
+ stateMutability: 'view',
4658
+ },
4659
+ {
4660
+ type: 'function',
4661
+ name: 'totalClaimableEarnShares',
4662
+ inputs: [],
4663
+ outputs: [{ name: '', type: 'uint256' }],
4664
+ stateMutability: 'view',
4665
+ },
4666
+ {
4667
+ type: 'function',
4668
+ name: 'validateFeeConfig',
4669
+ inputs: [
4670
+ {
4671
+ name: 'config',
4672
+ type: 'tuple',
4673
+ components: [
4674
+ { name: 'fixedFeeCount', type: 'uint8' },
4675
+ {
4676
+ name: 'fixedFees',
4677
+ type: 'tuple[4]',
4678
+ components: [
4679
+ { name: 'account', type: 'address' },
4680
+ { name: 'rateBps', type: 'uint16' },
4681
+ ],
4682
+ },
4683
+ {
4684
+ name: 'excess',
4685
+ type: 'tuple',
4686
+ components: [
4687
+ { name: 'enabled', type: 'bool' },
4688
+ { name: 'account', type: 'address' },
4689
+ { name: 'annualTargetRateBps', type: 'uint16' },
4690
+ { name: 'excessFeeRateBps', type: 'uint16' },
4691
+ ],
4692
+ },
4693
+ ],
4694
+ },
4695
+ ],
4696
+ outputs: [],
4697
+ stateMutability: 'view',
4698
+ },
4699
+ {
4700
+ type: 'event',
4701
+ name: 'FeeBaselinesInitialized',
4702
+ inputs: [
4703
+ { name: 'highWaterMark', type: 'uint256', indexed: false },
4704
+ { name: 'targetBase', type: 'uint256', indexed: false },
4705
+ { name: 'targetStartedAt', type: 'uint40', indexed: false },
4706
+ ],
4707
+ anonymous: false,
4708
+ },
4709
+ {
4710
+ type: 'event',
4711
+ name: 'FeeConfigurationSet',
4712
+ inputs: [
4713
+ { name: 'configId', type: 'uint64', indexed: true },
4714
+ { name: 'configHash', type: 'bytes32', indexed: true },
4715
+ { name: 'reactivated', type: 'bool', indexed: false },
4716
+ ],
4717
+ anonymous: false,
4718
+ },
4719
+ {
4720
+ type: 'event',
4721
+ name: 'FeeDustWaived',
4722
+ inputs: [
4723
+ { name: 'configId', type: 'uint64', indexed: true },
4724
+ { name: 'slot', type: 'uint8', indexed: true },
4725
+ { name: 'remainder', type: 'uint256', indexed: false },
4726
+ ],
4727
+ anonymous: false,
4728
+ },
4729
+ {
4730
+ type: 'event',
4731
+ name: 'FeeEarnSharesAllocated',
4732
+ inputs: [
4733
+ { name: 'configId', type: 'uint64', indexed: true },
4734
+ { name: 'recipient', type: 'address', indexed: true },
4735
+ { name: 'feeAssets', type: 'uint256', indexed: false },
4736
+ { name: 'feeEarnShares', type: 'uint256', indexed: false },
4737
+ ],
4738
+ anonymous: false,
4739
+ },
4740
+ {
4741
+ type: 'event',
4742
+ name: 'FeeEarnSharesClaimed',
4743
+ inputs: [
4744
+ { name: 'recipient', type: 'address', indexed: true },
4745
+ { name: 'to', type: 'address', indexed: true },
4746
+ { name: 'earnShares', type: 'uint256', indexed: false },
4747
+ ],
4748
+ anonymous: false,
4749
+ },
4750
+ {
4751
+ type: 'event',
4752
+ name: 'FeesAccrued',
4753
+ inputs: [
4754
+ { name: 'configId', type: 'uint64', indexed: true },
4755
+ { name: 'activeAssets', type: 'uint256', indexed: false },
4756
+ { name: 'positiveAccrualAssets', type: 'uint256', indexed: false },
4757
+ { name: 'feeAssets', type: 'uint256', indexed: false },
4758
+ { name: 'feeEarnShares', type: 'uint256', indexed: false },
4759
+ { name: 'highWaterMark', type: 'uint256', indexed: false },
4760
+ { name: 'targetValuePerEarnShare', type: 'uint256', indexed: false },
4761
+ ],
4762
+ anonymous: false,
4763
+ },
4764
+ {
4765
+ type: 'event',
4766
+ name: 'FeesDisabled',
4767
+ inputs: [{ name: 'operator', type: 'address', indexed: true }],
4768
+ anonymous: false,
4769
+ },
4770
+ { type: 'error', name: 'AlreadyInitialized', inputs: [] },
4771
+ { type: 'error', name: 'InsufficientClaimableEarnShares', inputs: [] },
4772
+ { type: 'error', name: 'InvalidFeeClaimReceiver', inputs: [] },
4773
+ { type: 'error', name: 'InvalidFeeConfiguration', inputs: [] },
4774
+ { type: 'error', name: 'NotEarnVault', inputs: [] },
4775
+ { type: 'error', name: 'ReentrantCall', inputs: [] },
4776
+ { type: 'error', name: 'ZeroAddress', inputs: [] },
4777
+ { type: 'error', name: 'ZeroAmount', inputs: [] },
4126
4778
  ];
4127
- exports.vaultEngine = [
4779
+ exports.earnEngine = [
4128
4780
  {
4129
4781
  type: 'function',
4130
4782
  name: 'asset',
@@ -4136,9 +4788,16 @@ exports.vaultEngine = [
4136
4788
  type: 'function',
4137
4789
  name: 'deposit',
4138
4790
  inputs: [{ name: 'assets', type: 'uint256' }],
4139
- outputs: [{ name: 'shares', type: 'uint256' }],
4791
+ outputs: [{ name: 'engineShares', type: 'uint256' }],
4140
4792
  stateMutability: 'nonpayable',
4141
4793
  },
4794
+ {
4795
+ type: 'function',
4796
+ name: 'earnVault',
4797
+ inputs: [],
4798
+ outputs: [{ name: '', type: 'address' }],
4799
+ stateMutability: 'view',
4800
+ },
4142
4801
  {
4143
4802
  type: 'function',
4144
4803
  name: 'name',
@@ -4146,6 +4805,13 @@ exports.vaultEngine = [
4146
4805
  outputs: [{ name: '', type: 'string' }],
4147
4806
  stateMutability: 'view',
4148
4807
  },
4808
+ {
4809
+ type: 'function',
4810
+ name: 'shareScale',
4811
+ inputs: [],
4812
+ outputs: [{ name: 'scale', type: 'uint256' }],
4813
+ stateMutability: 'view',
4814
+ },
4149
4815
  {
4150
4816
  type: 'function',
4151
4817
  name: 'supportsInterface',
@@ -4171,20 +4837,20 @@ exports.vaultEngine = [
4171
4837
  type: 'function',
4172
4838
  name: 'totalShares',
4173
4839
  inputs: [],
4174
- outputs: [{ name: 'shares', type: 'uint256' }],
4840
+ outputs: [{ name: 'engineShares', type: 'uint256' }],
4175
4841
  stateMutability: 'view',
4176
4842
  },
4177
4843
  {
4178
4844
  type: 'function',
4179
4845
  name: 'valueOf',
4180
- inputs: [{ name: 'shares', type: 'uint256' }],
4846
+ inputs: [{ name: 'engineShares', type: 'uint256' }],
4181
4847
  outputs: [{ name: 'assets', type: 'uint256' }],
4182
4848
  stateMutability: 'view',
4183
4849
  },
4184
4850
  {
4185
4851
  type: 'function',
4186
4852
  name: 'previewRedeem',
4187
- inputs: [{ name: 'shares', type: 'uint256' }],
4853
+ inputs: [{ name: 'engineShares', type: 'uint256' }],
4188
4854
  outputs: [{ name: 'assets', type: 'uint256' }],
4189
4855
  stateMutability: 'view',
4190
4856
  },
@@ -4192,8 +4858,9 @@ exports.vaultEngine = [
4192
4858
  type: 'function',
4193
4859
  name: 'redeem',
4194
4860
  inputs: [
4195
- { name: 'shares', type: 'uint256' },
4861
+ { name: 'engineShares', type: 'uint256' },
4196
4862
  { name: 'receiver', type: 'address' },
4863
+ { name: 'minAssets', type: 'uint256' },
4197
4864
  ],
4198
4865
  outputs: [{ name: 'assets', type: 'uint256' }],
4199
4866
  stateMutability: 'nonpayable',
@@ -4202,7 +4869,7 @@ exports.vaultEngine = [
4202
4869
  type: 'function',
4203
4870
  name: 'previewWithdraw',
4204
4871
  inputs: [{ name: 'assets', type: 'uint256' }],
4205
- outputs: [{ name: 'shares', type: 'uint256' }],
4872
+ outputs: [{ name: 'engineShares', type: 'uint256' }],
4206
4873
  stateMutability: 'view',
4207
4874
  },
4208
4875
  {
@@ -4212,42 +4879,42 @@ exports.vaultEngine = [
4212
4879
  { name: 'assets', type: 'uint256' },
4213
4880
  { name: 'receiver', type: 'address' },
4214
4881
  ],
4215
- outputs: [{ name: 'shares', type: 'uint256' }],
4882
+ outputs: [{ name: 'engineShares', type: 'uint256' }],
4216
4883
  stateMutability: 'nonpayable',
4217
4884
  },
4218
4885
  ];
4219
- exports.vaultEngineAsync = [
4886
+ exports.earnEngineAsyncRedeem = [
4220
4887
  {
4221
4888
  type: 'function',
4222
4889
  name: 'cancelRedeem',
4223
4890
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4224
- outputs: [{ name: 'shares', type: 'uint256' }],
4891
+ outputs: [{ name: 'engineShares', type: 'uint256' }],
4225
4892
  stateMutability: 'nonpayable',
4226
4893
  },
4227
4894
  {
4228
4895
  type: 'function',
4229
4896
  name: 'requestRedeem',
4230
4897
  inputs: [
4231
- { name: 'shares', type: 'uint256' },
4898
+ { name: 'engineShares', type: 'uint256' },
4232
4899
  { name: 'requestData', type: 'bytes' },
4233
4900
  ],
4234
4901
  outputs: [{ name: 'requestId', type: 'bytes32' }],
4235
4902
  stateMutability: 'nonpayable',
4236
4903
  },
4237
4904
  ];
4238
- exports.vaultEngineShares = [
4905
+ exports.earnEngineInKindDeposit = [
4239
4906
  {
4240
4907
  type: 'function',
4241
- name: 'depositShares',
4908
+ name: 'depositInKind',
4242
4909
  inputs: [
4243
- { name: 'shares', type: 'uint256' },
4910
+ { name: 'venueShares', type: 'uint256' },
4244
4911
  { name: 'from', type: 'address' },
4245
4912
  ],
4246
- outputs: [{ name: 'sharesReceived', type: 'uint256' }],
4913
+ outputs: [{ name: 'engineSharesReceived', type: 'uint256' }],
4247
4914
  stateMutability: 'nonpayable',
4248
4915
  },
4249
4916
  ];
4250
- exports.vaultRewards = [
4917
+ exports.earnContributionController = [
4251
4918
  {
4252
4919
  type: 'function',
4253
4920
  name: 'active',
@@ -4260,9 +4927,10 @@ exports.vaultRewards = [
4260
4927
  name: 'fund',
4261
4928
  inputs: [
4262
4929
  { name: 'funder', type: 'address' },
4263
- { name: 'requested', type: 'uint256' },
4930
+ { name: 'requestedAssets', type: 'uint256' },
4931
+ { name: 'maxEarnShareSupply', type: 'uint256' },
4264
4932
  ],
4265
- outputs: [{ name: 'funded', type: 'uint256' }],
4933
+ outputs: [{ name: 'fundedAssets', type: 'uint256' }],
4266
4934
  stateMutability: 'nonpayable',
4267
4935
  },
4268
4936
  {
@@ -4277,11 +4945,19 @@ exports.vaultRewards = [
4277
4945
  name: 'Funded',
4278
4946
  inputs: [
4279
4947
  { name: 'funder', type: 'address', indexed: true },
4280
- { name: 'requested', type: 'uint256', indexed: false },
4281
- { name: 'funded', type: 'uint256', indexed: false },
4948
+ { name: 'requestedAssets', type: 'uint256', indexed: false },
4949
+ { name: 'fundedAssets', type: 'uint256', indexed: false },
4282
4950
  ],
4283
4951
  anonymous: false,
4284
4952
  },
4953
+ {
4954
+ type: 'error',
4955
+ name: 'EarnShareSupplyOutOfBounds',
4956
+ inputs: [
4957
+ { name: 'earnShareSupply', type: 'uint256' },
4958
+ { name: 'maxEarnShareSupply', type: 'uint256' },
4959
+ ],
4960
+ },
4285
4961
  { type: 'error', name: 'Inactive', inputs: [] },
4286
4962
  { type: 'error', name: 'NotSelf', inputs: [] },
4287
4963
  {
@@ -4312,9 +4988,7 @@ exports.vedaEngine = [
4312
4988
  name: 'getClaim',
4313
4989
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4314
4990
  outputs: [
4315
- { name: 'open', type: 'bool' },
4316
- { name: 'paid', type: 'bool' },
4317
- { name: 'recorded', type: 'bool' },
4991
+ { name: 'status', type: 'uint8' },
4318
4992
  {
4319
4993
  name: 'request',
4320
4994
  type: 'tuple',
@@ -4355,19 +5029,13 @@ exports.vedaEngine = [
4355
5029
  ],
4356
5030
  anonymous: false,
4357
5031
  },
4358
- {
4359
- type: 'event',
4360
- name: 'CoreInitialized',
4361
- inputs: [{ name: 'core', type: 'address', indexed: true }],
4362
- anonymous: false,
4363
- },
4364
5032
  {
4365
5033
  type: 'event',
4366
5034
  name: 'Deposited',
4367
5035
  inputs: [
4368
- { name: 'receiver', type: 'address', indexed: true },
5036
+ { name: 'earnVault', type: 'address', indexed: true },
4369
5037
  { name: 'assets', type: 'uint256', indexed: false },
4370
- { name: 'shares', type: 'uint256', indexed: false },
5038
+ { name: 'engineShares', type: 'uint256', indexed: false },
4371
5039
  ],
4372
5040
  anonymous: false,
4373
5041
  },
@@ -4381,6 +5049,12 @@ exports.vedaEngine = [
4381
5049
  ],
4382
5050
  anonymous: false,
4383
5051
  },
5052
+ {
5053
+ type: 'event',
5054
+ name: 'EarnVaultInitialized',
5055
+ inputs: [{ name: 'earnVault', type: 'address', indexed: true }],
5056
+ anonymous: false,
5057
+ },
4384
5058
  {
4385
5059
  type: 'event',
4386
5060
  name: 'FinalizeFailed',
@@ -4401,6 +5075,15 @@ exports.vedaEngine = [
4401
5075
  ],
4402
5076
  anonymous: false,
4403
5077
  },
5078
+ {
5079
+ type: 'event',
5080
+ name: 'MaxRateAgeUpdated',
5081
+ inputs: [
5082
+ { name: 'oldMaxRateAge', type: 'uint64', indexed: false },
5083
+ { name: 'newMaxRateAge', type: 'uint64', indexed: false },
5084
+ ],
5085
+ anonymous: false,
5086
+ },
4404
5087
  {
4405
5088
  type: 'event',
4406
5089
  name: 'OwnershipTransferStarted',
@@ -4424,7 +5107,7 @@ exports.vedaEngine = [
4424
5107
  name: 'RedeemCancelledOnQueue',
4425
5108
  inputs: [
4426
5109
  { name: 'requestId', type: 'bytes32', indexed: true },
4427
- { name: 'shares', type: 'uint128', indexed: false },
5110
+ { name: 'engineShares', type: 'uint128', indexed: false },
4428
5111
  ],
4429
5112
  anonymous: false,
4430
5113
  },
@@ -4444,7 +5127,7 @@ exports.vedaEngine = [
4444
5127
  inputs: [
4445
5128
  { name: 'requestId', type: 'bytes32', indexed: true },
4446
5129
  { name: 'assetOut', type: 'address', indexed: true },
4447
- { name: 'shares', type: 'uint128', indexed: false },
5130
+ { name: 'engineShares', type: 'uint128', indexed: false },
4448
5131
  ],
4449
5132
  anonymous: false,
4450
5133
  },
@@ -4453,7 +5136,7 @@ exports.vedaEngine = [
4453
5136
  name: 'Redeemed',
4454
5137
  inputs: [
4455
5138
  { name: 'receiver', type: 'address', indexed: true },
4456
- { name: 'shares', type: 'uint256', indexed: false },
5139
+ { name: 'engineShares', type: 'uint256', indexed: false },
4457
5140
  { name: 'assets', type: 'uint256', indexed: false },
4458
5141
  ],
4459
5142
  anonymous: false,
@@ -4487,13 +5170,28 @@ exports.vedaEngine = [
4487
5170
  ],
4488
5171
  anonymous: false,
4489
5172
  },
5173
+ {
5174
+ type: 'event',
5175
+ name: 'VedaPeripheryUpdated',
5176
+ inputs: [
5177
+ { name: 'registryVersion', type: 'uint64', indexed: true },
5178
+ { name: 'oldTeller', type: 'address', indexed: true },
5179
+ { name: 'oldQueue', type: 'address', indexed: true },
5180
+ { name: 'oldAccountant', type: 'address', indexed: false },
5181
+ { name: 'newTeller', type: 'address', indexed: false },
5182
+ { name: 'newQueue', type: 'address', indexed: false },
5183
+ { name: 'newAccountant', type: 'address', indexed: false },
5184
+ { name: 'validatedRate', type: 'uint256', indexed: false },
5185
+ ],
5186
+ anonymous: false,
5187
+ },
4490
5188
  {
4491
5189
  type: 'event',
4492
5190
  name: 'WithdrewExact',
4493
5191
  inputs: [
4494
5192
  { name: 'receiver', type: 'address', indexed: true },
4495
5193
  { name: 'assets', type: 'uint256', indexed: false },
4496
- { name: 'sharesBurned', type: 'uint256', indexed: false },
5194
+ { name: 'engineSharesBurned', type: 'uint256', indexed: false },
4497
5195
  ],
4498
5196
  anonymous: false,
4499
5197
  },
@@ -4503,13 +5201,17 @@ exports.vedaEngine = [
4503
5201
  name: 'AssetsNotArrived',
4504
5202
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4505
5203
  },
4506
- { type: 'error', name: 'CannotSweepBackingShares', inputs: [] },
5204
+ { type: 'error', name: 'CannotSweepEngineBacking', inputs: [] },
5205
+ {
5206
+ type: 'error',
5207
+ name: 'ClaimNotClaimable',
5208
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
5209
+ },
4507
5210
  {
4508
5211
  type: 'error',
4509
5212
  name: 'ClaimNotOpen',
4510
5213
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4511
5214
  },
4512
- { type: 'error', name: 'CoreNotSet', inputs: [] },
4513
5215
  {
4514
5216
  type: 'error',
4515
5217
  name: 'CreditExceedsBalance',
@@ -4519,7 +5221,69 @@ exports.vedaEngine = [
4519
5221
  { name: 'wantTotal', type: 'uint256' },
4520
5222
  ],
4521
5223
  },
4522
- { type: 'error', name: 'NoSharesReceived', inputs: [] },
5224
+ { type: 'error', name: 'DepositsNotPaused', inputs: [] },
5225
+ {
5226
+ type: 'error',
5227
+ name: 'DuplicateRequest',
5228
+ inputs: [{ name: 'requestId', type: 'bytes32' }],
5229
+ },
5230
+ { type: 'error', name: 'EarnVaultNotSet', inputs: [] },
5231
+ { type: 'error', name: 'EmptyMetadata', inputs: [] },
5232
+ {
5233
+ type: 'error',
5234
+ name: 'EngineSharesTooLarge',
5235
+ inputs: [{ name: 'engineShares', type: 'uint256' }],
5236
+ },
5237
+ {
5238
+ type: 'error',
5239
+ name: 'InsufficientAssetsReceived',
5240
+ inputs: [
5241
+ { name: 'minimumAssets', type: 'uint256' },
5242
+ { name: 'actualAssets', type: 'uint256' },
5243
+ ],
5244
+ },
5245
+ {
5246
+ type: 'error',
5247
+ name: 'InvalidAsset',
5248
+ inputs: [
5249
+ { name: 'expected', type: 'address' },
5250
+ { name: 'actual', type: 'address' },
5251
+ ],
5252
+ },
5253
+ { type: 'error', name: 'InvalidMaxRateAge', inputs: [] },
5254
+ {
5255
+ type: 'error',
5256
+ name: 'InvalidRateTimestamp',
5257
+ inputs: [
5258
+ { name: 'updatedAt', type: 'uint256' },
5259
+ { name: 'currentTime', type: 'uint256' },
5260
+ ],
5261
+ },
5262
+ {
5263
+ type: 'error',
5264
+ name: 'InvalidVedaPeriphery',
5265
+ inputs: [{ name: 'account', type: 'address' }],
5266
+ },
5267
+ {
5268
+ type: 'error',
5269
+ name: 'InvalidVedaPeripheryWiring',
5270
+ inputs: [
5271
+ { name: 'component', type: 'address' },
5272
+ { name: 'expected', type: 'address' },
5273
+ { name: 'actual', type: 'address' },
5274
+ ],
5275
+ },
5276
+ {
5277
+ type: 'error',
5278
+ name: 'InvalidVedaRateBounds',
5279
+ inputs: [
5280
+ { name: 'minRate', type: 'uint256' },
5281
+ { name: 'maxRate', type: 'uint256' },
5282
+ ],
5283
+ },
5284
+ { type: 'error', name: 'InvalidVenueShareDecimals', inputs: [] },
5285
+ { type: 'error', name: 'NoPublishedVedaPeriphery', inputs: [] },
5286
+ { type: 'error', name: 'NoVenueSharesReceived', inputs: [] },
4523
5287
  {
4524
5288
  type: 'error',
4525
5289
  name: 'NotAuthorizedForwarder',
@@ -4527,7 +5291,7 @@ exports.vedaEngine = [
4527
5291
  },
4528
5292
  {
4529
5293
  type: 'error',
4530
- name: 'NotCore',
5294
+ name: 'NotEarnVault',
4531
5295
  inputs: [{ name: 'caller', type: 'address' }],
4532
5296
  },
4533
5297
  { type: 'error', name: 'NotSelf', inputs: [] },
@@ -4541,7 +5305,24 @@ exports.vedaEngine = [
4541
5305
  name: 'OwnableUnauthorizedAccount',
4542
5306
  inputs: [{ name: 'account', type: 'address' }],
4543
5307
  },
5308
+ { type: 'error', name: 'QueueUnavailable', inputs: [] },
5309
+ {
5310
+ type: 'error',
5311
+ name: 'RateChangedWithinTransaction',
5312
+ inputs: [
5313
+ { name: 'expected', type: 'uint256' },
5314
+ { name: 'actual', type: 'uint256' },
5315
+ ],
5316
+ },
4544
5317
  { type: 'error', name: 'ReentrantCall', inputs: [] },
5318
+ {
5319
+ type: 'error',
5320
+ name: 'RegistryEngineMismatch',
5321
+ inputs: [
5322
+ { name: 'expected', type: 'address' },
5323
+ { name: 'actual', type: 'address' },
5324
+ ],
5325
+ },
4545
5326
  {
4546
5327
  type: 'error',
4547
5328
  name: 'RequestDetailsNotRecorded',
@@ -4549,235 +5330,218 @@ exports.vedaEngine = [
4549
5330
  },
4550
5331
  {
4551
5332
  type: 'error',
4552
- name: 'SharesTooLarge',
4553
- inputs: [{ name: 'shares', type: 'uint256' }],
5333
+ name: 'SolveUnderfunded',
5334
+ inputs: [
5335
+ { name: 'asset', type: 'address' },
5336
+ { name: 'delivered', type: 'uint256' },
5337
+ { name: 'required', type: 'uint256' },
5338
+ ],
4554
5339
  },
4555
- { type: 'error', name: 'TransferFailed', inputs: [] },
4556
- { type: 'error', name: 'ZeroAddress', inputs: [] },
4557
- ];
4558
- exports.zoneGateway = [
4559
5340
  {
4560
- type: 'function',
4561
- name: 'defaultSwapper',
4562
- inputs: [],
4563
- outputs: [{ name: '', type: 'address' }],
4564
- stateMutability: 'view',
5341
+ type: 'error',
5342
+ name: 'StaleAccountantRate',
5343
+ inputs: [
5344
+ { name: 'updatedAt', type: 'uint256' },
5345
+ { name: 'currentTime', type: 'uint256' },
5346
+ { name: 'maxAge', type: 'uint256' },
5347
+ ],
4565
5348
  },
4566
5349
  {
4567
- type: 'function',
4568
- name: 'shareToken',
4569
- inputs: [],
4570
- outputs: [{ name: '', type: 'address' }],
4571
- stateMutability: 'view',
5350
+ type: 'error',
5351
+ name: 'SweepExceedsAvailableBalance',
5352
+ inputs: [
5353
+ { name: 'token', type: 'address' },
5354
+ { name: 'available', type: 'uint256' },
5355
+ { name: 'requested', type: 'uint256' },
5356
+ ],
4572
5357
  },
5358
+ { type: 'error', name: 'TransferFailed', inputs: [] },
4573
5359
  {
4574
- type: 'function',
4575
- name: 'supportsFlow',
4576
- inputs: [{ name: 'flow', type: 'uint8' }],
4577
- outputs: [{ name: '', type: 'bool' }],
4578
- stateMutability: 'pure',
5360
+ type: 'error',
5361
+ name: 'UnexpectedAssetsReceived',
5362
+ inputs: [
5363
+ { name: 'expectedAssets', type: 'uint256' },
5364
+ { name: 'actualAssets', type: 'uint256' },
5365
+ ],
4579
5366
  },
4580
5367
  {
4581
- type: 'function',
4582
- name: 'vaultAdapter',
4583
- inputs: [],
4584
- outputs: [{ name: '', type: 'address' }],
4585
- stateMutability: 'view',
5368
+ type: 'error',
5369
+ name: 'UnexpectedVenueSharesBurned',
5370
+ inputs: [
5371
+ { name: 'expectedShares', type: 'uint256' },
5372
+ { name: 'actualShares', type: 'uint256' },
5373
+ ],
4586
5374
  },
4587
5375
  {
4588
- type: 'function',
4589
- name: 'vaultAsset',
4590
- inputs: [],
4591
- outputs: [{ name: '', type: 'address' }],
4592
- stateMutability: 'view',
5376
+ type: 'error',
5377
+ name: 'UnsupportedAccountantFreshness',
5378
+ inputs: [{ name: 'accountant', type: 'address' }],
5379
+ },
5380
+ {
5381
+ type: 'error',
5382
+ name: 'VedaRateOutOfBounds',
5383
+ inputs: [
5384
+ { name: 'rate', type: 'uint256' },
5385
+ { name: 'minRate', type: 'uint256' },
5386
+ { name: 'maxRate', type: 'uint256' },
5387
+ ],
4593
5388
  },
5389
+ { type: 'error', name: 'ZeroAddress', inputs: [] },
5390
+ ];
5391
+ exports.earnRouter = [
4594
5392
  {
4595
5393
  type: 'function',
4596
- name: 'zoneId',
5394
+ name: 'allowedZoneId',
4597
5395
  inputs: [],
4598
5396
  outputs: [{ name: '', type: 'uint32' }],
4599
5397
  stateMutability: 'view',
4600
5398
  },
4601
5399
  {
4602
5400
  type: 'function',
4603
- name: 'zoneMessenger',
5401
+ name: 'earnShare',
4604
5402
  inputs: [],
4605
5403
  outputs: [{ name: '', type: 'address' }],
4606
5404
  stateMutability: 'view',
4607
5405
  },
4608
5406
  {
4609
5407
  type: 'function',
4610
- name: 'zonePortal',
5408
+ name: 'earnVault',
4611
5409
  inputs: [],
4612
5410
  outputs: [{ name: '', type: 'address' }],
4613
5411
  stateMutability: 'view',
4614
5412
  },
4615
5413
  {
4616
- type: 'event',
4617
- name: 'EarnDeposit',
4618
- inputs: [
4619
- { name: 'actionId', type: 'bytes32', indexed: true },
4620
- { name: 'inputToken', type: 'address', indexed: true },
4621
- { name: 'inputAmount', type: 'uint256', indexed: false },
4622
- { name: 'vaultAssets', type: 'uint256', indexed: false },
4623
- { name: 'shares', type: 'uint256', indexed: false },
4624
- { name: 'zoneDepositHash', type: 'bytes32', indexed: false },
4625
- ],
4626
- anonymous: false,
4627
- },
4628
- {
4629
- type: 'event',
4630
- name: 'EarnRedeem',
5414
+ type: 'function',
5415
+ name: 'onWithdrawalReceived',
4631
5416
  inputs: [
4632
- { name: 'actionId', type: 'bytes32', indexed: true },
4633
- { name: 'outputToken', type: 'address', indexed: true },
4634
- { name: 'shares', type: 'uint256', indexed: false },
4635
- { name: 'vaultAssets', type: 'uint256', indexed: false },
4636
- { name: 'outputAmount', type: 'uint256', indexed: false },
4637
- { name: 'zoneDepositHash', type: 'bytes32', indexed: false },
5417
+ { name: 'sourceZoneId', type: 'uint32' },
5418
+ { name: 'sourcePortal', type: 'address' },
5419
+ { name: '', type: 'bytes32' },
5420
+ { name: 'token', type: 'address' },
5421
+ { name: 'amount', type: 'uint128' },
5422
+ { name: 'callbackData', type: 'bytes' },
4638
5423
  ],
4639
- anonymous: false,
4640
- },
4641
- ];
4642
- exports.zoneGatewayBase = [
4643
- {
4644
- type: 'function',
4645
- name: 'acceptOwnership',
4646
- inputs: [],
4647
- outputs: [],
5424
+ outputs: [{ name: '', type: 'bytes4' }],
4648
5425
  stateMutability: 'nonpayable',
4649
5426
  },
4650
5427
  {
4651
5428
  type: 'function',
4652
- name: 'depositSwapperFor',
4653
- inputs: [{ name: 'token', type: 'address' }],
4654
- outputs: [{ name: 'swapper', type: 'address' }],
4655
- stateMutability: 'view',
4656
- },
4657
- {
4658
- type: 'function',
4659
- name: 'owner',
5429
+ name: 'privateAsset',
4660
5430
  inputs: [],
4661
5431
  outputs: [{ name: '', type: 'address' }],
4662
5432
  stateMutability: 'view',
4663
5433
  },
4664
5434
  {
4665
5435
  type: 'function',
4666
- name: 'pendingOwner',
5436
+ name: 'reserveToken',
4667
5437
  inputs: [],
4668
5438
  outputs: [{ name: '', type: 'address' }],
4669
5439
  stateMutability: 'view',
4670
5440
  },
4671
5441
  {
4672
5442
  type: 'function',
4673
- name: 'redeemSwapperFor',
4674
- inputs: [{ name: 'token', type: 'address' }],
4675
- outputs: [{ name: 'swapper', type: 'address' }],
4676
- stateMutability: 'view',
5443
+ name: 'supportsFlow',
5444
+ inputs: [{ name: 'flow', type: 'uint8' }],
5445
+ outputs: [{ name: '', type: 'bool' }],
5446
+ stateMutability: 'pure',
4677
5447
  },
4678
5448
  {
4679
5449
  type: 'function',
4680
- name: 'renounceOwnership',
5450
+ name: 'tokenAuthority',
4681
5451
  inputs: [],
4682
- outputs: [],
4683
- stateMutability: 'nonpayable',
4684
- },
4685
- {
4686
- type: 'function',
4687
- name: 'setDepositRoute',
4688
- inputs: [
4689
- { name: 'inputToken', type: 'address' },
4690
- { name: 'swapper', type: 'address' },
4691
- ],
4692
- outputs: [],
4693
- stateMutability: 'nonpayable',
5452
+ outputs: [{ name: '', type: 'address' }],
5453
+ stateMutability: 'view',
4694
5454
  },
4695
5455
  {
4696
5456
  type: 'function',
4697
- name: 'setRedeemRoute',
4698
- inputs: [
4699
- { name: 'outputToken', type: 'address' },
4700
- { name: 'swapper', type: 'address' },
4701
- ],
4702
- outputs: [],
4703
- stateMutability: 'nonpayable',
5457
+ name: 'transactionLimit',
5458
+ inputs: [],
5459
+ outputs: [{ name: '', type: 'uint256' }],
5460
+ stateMutability: 'view',
4704
5461
  },
4705
5462
  {
4706
5463
  type: 'function',
4707
- name: 'transferOwnership',
4708
- inputs: [{ name: 'newOwner', type: 'address' }],
4709
- outputs: [],
4710
- stateMutability: 'nonpayable',
5464
+ name: 'vaultAsset',
5465
+ inputs: [],
5466
+ outputs: [{ name: '', type: 'address' }],
5467
+ stateMutability: 'view',
4711
5468
  },
4712
5469
  {
4713
5470
  type: 'event',
4714
- name: 'DepositRouteUpdated',
5471
+ name: 'EarnDeposit',
4715
5472
  inputs: [
5473
+ { name: 'actionId', type: 'bytes32', indexed: true },
5474
+ { name: 'earnVault', type: 'address', indexed: true },
4716
5475
  { name: 'inputToken', type: 'address', indexed: true },
4717
- { name: 'swapper', type: 'address', indexed: true },
4718
- ],
4719
- anonymous: false,
4720
- },
4721
- {
4722
- type: 'event',
4723
- name: 'OwnershipTransferStarted',
4724
- inputs: [
4725
- { name: 'previousOwner', type: 'address', indexed: true },
4726
- { name: 'newOwner', type: 'address', indexed: true },
4727
- ],
4728
- anonymous: false,
4729
- },
4730
- {
4731
- type: 'event',
4732
- name: 'OwnershipTransferred',
4733
- inputs: [
4734
- { name: 'previousOwner', type: 'address', indexed: true },
4735
- { name: 'newOwner', type: 'address', indexed: true },
5476
+ { name: 'inputAmount', type: 'uint256', indexed: false },
5477
+ { name: 'vaultAssets', type: 'uint256', indexed: false },
5478
+ { name: 'earnShares', type: 'uint256', indexed: false },
5479
+ { name: 'zoneDepositHash', type: 'bytes32', indexed: false },
4736
5480
  ],
4737
5481
  anonymous: false,
4738
5482
  },
4739
5483
  {
4740
5484
  type: 'event',
4741
- name: 'RedeemRouteUpdated',
5485
+ name: 'EarnRedeem',
4742
5486
  inputs: [
5487
+ { name: 'actionId', type: 'bytes32', indexed: true },
5488
+ { name: 'earnVault', type: 'address', indexed: true },
4743
5489
  { name: 'outputToken', type: 'address', indexed: true },
4744
- { name: 'swapper', type: 'address', indexed: true },
4745
- ],
4746
- anonymous: false,
4747
- },
4748
- {
4749
- type: 'event',
4750
- name: 'TokenRescued',
4751
- inputs: [
4752
- { name: 'token', type: 'address', indexed: true },
4753
- { name: 'receiver', type: 'address', indexed: true },
4754
- { name: 'amount', type: 'uint256', indexed: false },
5490
+ { name: 'earnShares', type: 'uint256', indexed: false },
5491
+ { name: 'vaultAssets', type: 'uint256', indexed: false },
5492
+ { name: 'outputAmount', type: 'uint256', indexed: false },
5493
+ { name: 'zoneDepositHash', type: 'bytes32', indexed: false },
4755
5494
  ],
4756
5495
  anonymous: false,
4757
5496
  },
5497
+ { type: 'error', name: 'AmountExceedsLimit', inputs: [] },
5498
+ { type: 'error', name: 'AmountOverflow', inputs: [] },
5499
+ { type: 'error', name: 'BadFlow', inputs: [] },
5500
+ { type: 'error', name: 'InsufficientOutput', inputs: [] },
5501
+ { type: 'error', name: 'InvalidAuthority', inputs: [] },
5502
+ { type: 'error', name: 'InvalidEarnVault', inputs: [] },
5503
+ { type: 'error', name: 'InvalidPrivateAsset', inputs: [] },
5504
+ { type: 'error', name: 'InvalidReturnToken', inputs: [] },
5505
+ { type: 'error', name: 'InvalidRoutePair', inputs: [] },
5506
+ { type: 'error', name: 'InvalidSourcePortal', inputs: [] },
5507
+ { type: 'error', name: 'MismatchedTransactionLimit', inputs: [] },
5508
+ { type: 'error', name: 'NotZoneMessenger', inputs: [] },
5509
+ { type: 'error', name: 'ReentrantCall', inputs: [] },
5510
+ { type: 'error', name: 'ResidualBalance', inputs: [] },
5511
+ { type: 'error', name: 'TokenCallFailed', inputs: [] },
5512
+ { type: 'error', name: 'TokenCallFalse', inputs: [] },
5513
+ { type: 'error', name: 'WrongInputToken', inputs: [] },
5514
+ { type: 'error', name: 'WrongSourceZone', inputs: [] },
5515
+ { type: 'error', name: 'ZeroAddress', inputs: [] },
5516
+ { type: 'error', name: 'ZeroAmount', inputs: [] },
4758
5517
  ];
4759
- exports.zoneGatewayCallbackData = [
5518
+ exports.earnRouterCallbackData = [
4760
5519
  {
4761
5520
  components: [
4762
5521
  { name: 'flow', type: 'uint8' },
4763
- { name: 'outputToken', type: 'address' },
4764
- { name: 'keyIndex', type: 'uint256' },
5522
+ { name: 'minVaultAssets', type: 'uint128' },
5523
+ { name: 'minEarnShares', type: 'uint128' },
5524
+ { name: 'minOutputAmount', type: 'uint128' },
5525
+ { name: 'actionId', type: 'bytes32' },
4765
5526
  {
4766
5527
  components: [
4767
- { name: 'ephemeralPubkeyX', type: 'bytes32' },
4768
- { name: 'ephemeralPubkeyYParity', type: 'uint8' },
4769
- { name: 'ciphertext', type: 'bytes' },
4770
- { name: 'nonce', type: 'bytes12' },
4771
- { name: 'tag', type: 'bytes16' },
5528
+ { name: 'keyIndex', type: 'uint256' },
5529
+ {
5530
+ components: [
5531
+ { name: 'ephemeralPubkeyX', type: 'bytes32' },
5532
+ { name: 'ephemeralPubkeyYParity', type: 'uint8' },
5533
+ { name: 'ciphertext', type: 'bytes' },
5534
+ { name: 'nonce', type: 'bytes12' },
5535
+ { name: 'tag', type: 'bytes16' },
5536
+ ],
5537
+ name: 'encrypted',
5538
+ type: 'tuple',
5539
+ },
5540
+ { name: 'refundRecipient', type: 'address' },
4772
5541
  ],
4773
- name: 'encrypted',
5542
+ name: 'zoneReturn',
4774
5543
  type: 'tuple',
4775
5544
  },
4776
- { name: 'minVaultAssets', type: 'uint128' },
4777
- { name: 'minVaultShares', type: 'uint128' },
4778
- { name: 'minOutputAmount', type: 'uint128' },
4779
- { name: 'actionId', type: 'bytes32' },
4780
- { name: 'refundRecipient', type: 'address' },
4781
5545
  ],
4782
5546
  name: 'callbackData',
4783
5547
  type: 'tuple',