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