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