viem 2.55.10 → 2.55.13

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 (138) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/_cjs/actions/wallet/prepareTransactionRequest.js +12 -12
  3. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  4. package/_cjs/actions/wallet/sendTransaction.js +24 -12
  5. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  6. package/_cjs/actions/wallet/sendTransactionSync.js +24 -12
  7. package/_cjs/actions/wallet/sendTransactionSync.js.map +1 -1
  8. package/_cjs/chains/definitions/story.js +7 -7
  9. package/_cjs/chains/definitions/story.js.map +1 -1
  10. package/_cjs/chains/definitions/storyAeneid.js +8 -8
  11. package/_cjs/chains/definitions/storyAeneid.js.map +1 -1
  12. package/_cjs/clients/createClient.js +1 -0
  13. package/_cjs/clients/createClient.js.map +1 -1
  14. package/_cjs/errors/typedData.js +11 -1
  15. package/_cjs/errors/typedData.js.map +1 -1
  16. package/_cjs/errors/version.js +1 -1
  17. package/_cjs/index.js +5 -4
  18. package/_cjs/index.js.map +1 -1
  19. package/_cjs/tempo/Abis.js +642 -253
  20. package/_cjs/tempo/Abis.js.map +1 -1
  21. package/_cjs/tempo/Decorator.js +7 -0
  22. package/_cjs/tempo/Decorator.js.map +1 -1
  23. package/_cjs/tempo/actions/earn/deployment.js +654 -0
  24. package/_cjs/tempo/actions/earn/deployment.js.map +1 -0
  25. package/_cjs/tempo/actions/earn.js +60 -17
  26. package/_cjs/tempo/actions/earn.js.map +1 -1
  27. package/_cjs/tempo/actions/token.js +18 -6
  28. package/_cjs/tempo/actions/token.js.map +1 -1
  29. package/_cjs/tempo/actions/zone.js +11 -1
  30. package/_cjs/tempo/actions/zone.js.map +1 -1
  31. package/_cjs/tempo/chainConfig.js +24 -23
  32. package/_cjs/tempo/chainConfig.js.map +1 -1
  33. package/_cjs/tempo/internal/WithdrawalSenderTag.js +2 -2
  34. package/_cjs/tempo/internal/WithdrawalSenderTag.js.map +1 -1
  35. package/_cjs/tempo/zones/Abis.js +17 -0
  36. package/_cjs/tempo/zones/Abis.js.map +1 -1
  37. package/_cjs/tokens/definitions/usdc.js +7 -0
  38. package/_cjs/tokens/definitions/usdc.js.map +1 -1
  39. package/_cjs/utils/promise/withRetry.js +2 -2
  40. package/_cjs/utils/promise/withRetry.js.map +1 -1
  41. package/_cjs/utils/typedData.js +3 -0
  42. package/_cjs/utils/typedData.js.map +1 -1
  43. package/_esm/actions/wallet/prepareTransactionRequest.js +14 -13
  44. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  45. package/_esm/actions/wallet/sendTransaction.js +24 -12
  46. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  47. package/_esm/actions/wallet/sendTransactionSync.js +24 -12
  48. package/_esm/actions/wallet/sendTransactionSync.js.map +1 -1
  49. package/_esm/chains/definitions/story.js +7 -7
  50. package/_esm/chains/definitions/story.js.map +1 -1
  51. package/_esm/chains/definitions/storyAeneid.js +8 -8
  52. package/_esm/chains/definitions/storyAeneid.js.map +1 -1
  53. package/_esm/clients/createClient.js +4 -3
  54. package/_esm/clients/createClient.js.map +1 -1
  55. package/_esm/errors/typedData.js +9 -0
  56. package/_esm/errors/typedData.js.map +1 -1
  57. package/_esm/errors/version.js +1 -1
  58. package/_esm/index.js +1 -1
  59. package/_esm/index.js.map +1 -1
  60. package/_esm/tempo/Abis.js +643 -254
  61. package/_esm/tempo/Abis.js.map +1 -1
  62. package/_esm/tempo/Decorator.js +7 -0
  63. package/_esm/tempo/Decorator.js.map +1 -1
  64. package/_esm/tempo/actions/earn/deployment.js +967 -0
  65. package/_esm/tempo/actions/earn/deployment.js.map +1 -0
  66. package/_esm/tempo/actions/earn.js +47 -17
  67. package/_esm/tempo/actions/earn.js.map +1 -1
  68. package/_esm/tempo/actions/token.js +21 -8
  69. package/_esm/tempo/actions/token.js.map +1 -1
  70. package/_esm/tempo/actions/zone.js +11 -1
  71. package/_esm/tempo/actions/zone.js.map +1 -1
  72. package/_esm/tempo/chainConfig.js +26 -28
  73. package/_esm/tempo/chainConfig.js.map +1 -1
  74. package/_esm/tempo/internal/WithdrawalSenderTag.js +3 -3
  75. package/_esm/tempo/internal/WithdrawalSenderTag.js.map +1 -1
  76. package/_esm/tempo/zones/Abis.js +17 -0
  77. package/_esm/tempo/zones/Abis.js.map +1 -1
  78. package/_esm/tokens/definitions/usdc.js +7 -0
  79. package/_esm/tokens/definitions/usdc.js.map +1 -1
  80. package/_esm/utils/promise/withRetry.js +2 -2
  81. package/_esm/utils/promise/withRetry.js.map +1 -1
  82. package/_esm/utils/typedData.js +4 -1
  83. package/_esm/utils/typedData.js.map +1 -1
  84. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  85. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  86. package/_types/actions/wallet/sendTransactionSync.d.ts.map +1 -1
  87. package/_types/chains/definitions/story.d.ts +7 -7
  88. package/_types/chains/definitions/storyAeneid.d.ts +8 -8
  89. package/_types/clients/createClient.d.ts +3 -3
  90. package/_types/clients/createClient.d.ts.map +1 -1
  91. package/_types/errors/typedData.d.ts +8 -0
  92. package/_types/errors/typedData.d.ts.map +1 -1
  93. package/_types/errors/version.d.ts +1 -1
  94. package/_types/index.d.ts +1 -1
  95. package/_types/index.d.ts.map +1 -1
  96. package/_types/tempo/Abis.d.ts +945 -388
  97. package/_types/tempo/Abis.d.ts.map +1 -1
  98. package/_types/tempo/Decorator.d.ts +18 -0
  99. package/_types/tempo/Decorator.d.ts.map +1 -1
  100. package/_types/tempo/actions/earn/deployment.d.ts +1710 -0
  101. package/_types/tempo/actions/earn/deployment.d.ts.map +1 -0
  102. package/_types/tempo/actions/earn.d.ts +1142 -535
  103. package/_types/tempo/actions/earn.d.ts.map +1 -1
  104. package/_types/tempo/actions/token.d.ts +1 -1
  105. package/_types/tempo/actions/token.d.ts.map +1 -1
  106. package/_types/tempo/actions/zone.d.ts.map +1 -1
  107. package/_types/tempo/chainConfig.d.ts.map +1 -1
  108. package/_types/tempo/internal/WithdrawalSenderTag.d.ts +2 -1
  109. package/_types/tempo/internal/WithdrawalSenderTag.d.ts.map +1 -1
  110. package/_types/tempo/zones/Abis.d.ts +48 -0
  111. package/_types/tempo/zones/Abis.d.ts.map +1 -1
  112. package/_types/tokens/definitions/usdc.d.ts +7 -0
  113. package/_types/tokens/definitions/usdc.d.ts.map +1 -1
  114. package/_types/tokens/sets.d.ts +14 -0
  115. package/_types/tokens/sets.d.ts.map +1 -1
  116. package/_types/utils/typedData.d.ts.map +1 -1
  117. package/actions/wallet/prepareTransactionRequest.ts +18 -17
  118. package/actions/wallet/sendTransaction.ts +25 -10
  119. package/actions/wallet/sendTransactionSync.ts +25 -10
  120. package/chains/definitions/story.ts +7 -7
  121. package/chains/definitions/storyAeneid.ts +8 -8
  122. package/clients/createClient.ts +4 -3
  123. package/errors/typedData.ts +13 -0
  124. package/errors/version.ts +1 -1
  125. package/index.ts +2 -0
  126. package/package.json +1 -1
  127. package/tempo/Abis.ts +644 -254
  128. package/tempo/Decorator.ts +41 -0
  129. package/tempo/actions/earn/deployment.ts +1427 -0
  130. package/tempo/actions/earn.ts +83 -63
  131. package/tempo/actions/token.ts +60 -9
  132. package/tempo/actions/zone.ts +10 -1
  133. package/tempo/chainConfig.ts +30 -27
  134. package/tempo/internal/WithdrawalSenderTag.ts +5 -4
  135. package/tempo/zones/Abis.ts +17 -0
  136. package/tokens/definitions/usdc.ts +7 -0
  137. package/utils/promise/withRetry.ts +4 -4
  138. package/utils/typedData.ts +5 -0
package/tempo/Abis.ts CHANGED
@@ -2990,7 +2990,69 @@ export const abis = [
2990
2990
  ...validatorConfigV2,
2991
2991
  ] as const
2992
2992
 
2993
- // Earn source: tempoxyz/earn at 4794b0ce4f611af7afe87587522e0087e690422f. Do not modify manually.
2993
+ // Earn source: tempoxyz/earn at 454fa260ded101f970ee7d6bafebf4c3b6ec9095. Do not modify manually.
2994
+
2995
+ export const erc4626EngineFactory = [
2996
+ {
2997
+ type: 'function',
2998
+ name: 'computeEngineSalt',
2999
+ inputs: [
3000
+ { name: 'deploymentId', type: 'bytes32' },
3001
+ { name: 'vault', type: 'address' },
3002
+ { name: 'owner', type: 'address' },
3003
+ { name: 'nameOverride', type: 'string' },
3004
+ { name: 'symbolOverride', type: 'string' },
3005
+ ],
3006
+ outputs: [{ name: '', type: 'bytes32' }],
3007
+ stateMutability: 'pure',
3008
+ },
3009
+ {
3010
+ type: 'function',
3011
+ name: 'deploy',
3012
+ inputs: [
3013
+ { name: 'deploymentId', type: 'bytes32' },
3014
+ { name: 'vault', type: 'address' },
3015
+ { name: 'owner', type: 'address' },
3016
+ { name: 'nameOverride', type: 'string' },
3017
+ { name: 'symbolOverride', type: 'string' },
3018
+ ],
3019
+ outputs: [{ name: 'engine', type: 'address' }],
3020
+ stateMutability: 'nonpayable',
3021
+ },
3022
+ {
3023
+ type: 'function',
3024
+ name: 'predictEngine',
3025
+ inputs: [
3026
+ { name: 'deploymentId', type: 'bytes32' },
3027
+ { name: 'vault', type: 'address' },
3028
+ { name: 'owner', type: 'address' },
3029
+ { name: 'nameOverride', type: 'string' },
3030
+ { name: 'symbolOverride', type: 'string' },
3031
+ ],
3032
+ outputs: [{ name: '', type: 'address' }],
3033
+ stateMutability: 'view',
3034
+ },
3035
+ {
3036
+ type: 'event',
3037
+ name: 'ERC4626EngineDeployed',
3038
+ inputs: [
3039
+ { name: 'engine', type: 'address', indexed: true },
3040
+ { name: 'vault', type: 'address', indexed: true },
3041
+ { name: 'owner', type: 'address', indexed: true },
3042
+ { name: 'asset', type: 'address', indexed: false },
3043
+ { name: 'deploymentId', type: 'bytes32', indexed: false },
3044
+ { name: 'engineSalt', type: 'bytes32', indexed: false },
3045
+ ],
3046
+ anonymous: false,
3047
+ },
3048
+ { type: 'error', name: 'EmptyDeploymentId', inputs: [] },
3049
+ {
3050
+ type: 'error',
3051
+ name: 'EngineAlreadyExists',
3052
+ inputs: [{ name: 'engine', type: 'address' }],
3053
+ },
3054
+ { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] },
3055
+ ] as const
2994
3056
 
2995
3057
  export const earnFactory = [
2996
3058
  {
@@ -3010,44 +3072,44 @@ export const earnFactory = [
3010
3072
  components: [
3011
3073
  { name: 'emergencyGuardian', type: 'address' },
3012
3074
  { name: 'asyncJanitor', type: 'address' },
3075
+ { name: 'maxManagedAssets', type: 'uint256' },
3013
3076
  { name: 'migrationMode', type: 'uint8' },
3014
3077
  ],
3015
3078
  },
3079
+ {
3080
+ name: 'distributorConfig',
3081
+ type: 'tuple',
3082
+ components: [
3083
+ { name: 'distributor', type: 'address' },
3084
+ { name: 'updateDelay', type: 'uint40' },
3085
+ ],
3086
+ },
3016
3087
  {
3017
3088
  name: 'fees',
3018
3089
  type: 'tuple',
3019
3090
  components: [
3020
- { name: 'administrator', type: 'address' },
3021
- { name: 'guardian', type: 'address' },
3022
- { name: 'fixedFeeCap', type: 'uint96' },
3023
- { name: 'excessFeeCap', type: 'uint96' },
3091
+ { name: 'fixedFeeCount', type: 'uint8' },
3024
3092
  {
3025
- name: 'initialConfig',
3093
+ name: 'fixedFees',
3094
+ type: 'tuple[4]',
3095
+ components: [
3096
+ { name: 'account', type: 'address' },
3097
+ { name: 'rateBps', type: 'uint16' },
3098
+ ],
3099
+ },
3100
+ {
3101
+ name: 'excess',
3026
3102
  type: 'tuple',
3027
3103
  components: [
3028
- { name: 'fixedFeeCount', type: 'uint8' },
3029
- {
3030
- name: 'fixedFees',
3031
- type: 'tuple[4]',
3032
- components: [
3033
- { name: 'account', type: 'address' },
3034
- { name: 'rate', type: 'uint96' },
3035
- ],
3036
- },
3037
- {
3038
- name: 'excess',
3039
- type: 'tuple',
3040
- components: [
3041
- { name: 'enabled', type: 'bool' },
3042
- { name: 'account', type: 'address' },
3043
- { name: 'annualTargetRate', type: 'uint96' },
3044
- { name: 'excessFeeRate', type: 'uint96' },
3045
- ],
3046
- },
3104
+ { name: 'enabled', type: 'bool' },
3105
+ { name: 'account', type: 'address' },
3106
+ { name: 'annualTargetRateBps', type: 'uint16' },
3107
+ { name: 'excessFeeRateBps', type: 'uint16' },
3047
3108
  ],
3048
3109
  },
3049
3110
  ],
3050
3111
  },
3112
+ { name: 'transferPolicyId', type: 'uint64' },
3051
3113
  ],
3052
3114
  },
3053
3115
  ],
@@ -3071,44 +3133,44 @@ export const earnFactory = [
3071
3133
  components: [
3072
3134
  { name: 'emergencyGuardian', type: 'address' },
3073
3135
  { name: 'asyncJanitor', type: 'address' },
3136
+ { name: 'maxManagedAssets', type: 'uint256' },
3074
3137
  { name: 'migrationMode', type: 'uint8' },
3075
3138
  ],
3076
3139
  },
3140
+ {
3141
+ name: 'distributorConfig',
3142
+ type: 'tuple',
3143
+ components: [
3144
+ { name: 'distributor', type: 'address' },
3145
+ { name: 'updateDelay', type: 'uint40' },
3146
+ ],
3147
+ },
3077
3148
  {
3078
3149
  name: 'fees',
3079
3150
  type: 'tuple',
3080
3151
  components: [
3081
- { name: 'administrator', type: 'address' },
3082
- { name: 'guardian', type: 'address' },
3083
- { name: 'fixedFeeCap', type: 'uint96' },
3084
- { name: 'excessFeeCap', type: 'uint96' },
3152
+ { name: 'fixedFeeCount', type: 'uint8' },
3085
3153
  {
3086
- name: 'initialConfig',
3154
+ name: 'fixedFees',
3155
+ type: 'tuple[4]',
3156
+ components: [
3157
+ { name: 'account', type: 'address' },
3158
+ { name: 'rateBps', type: 'uint16' },
3159
+ ],
3160
+ },
3161
+ {
3162
+ name: 'excess',
3087
3163
  type: 'tuple',
3088
3164
  components: [
3089
- { name: 'fixedFeeCount', type: 'uint8' },
3090
- {
3091
- name: 'fixedFees',
3092
- type: 'tuple[4]',
3093
- components: [
3094
- { name: 'account', type: 'address' },
3095
- { name: 'rate', type: 'uint96' },
3096
- ],
3097
- },
3098
- {
3099
- name: 'excess',
3100
- type: 'tuple',
3101
- components: [
3102
- { name: 'enabled', type: 'bool' },
3103
- { name: 'account', type: 'address' },
3104
- { name: 'annualTargetRate', type: 'uint96' },
3105
- { name: 'excessFeeRate', type: 'uint96' },
3106
- ],
3107
- },
3165
+ { name: 'enabled', type: 'bool' },
3166
+ { name: 'account', type: 'address' },
3167
+ { name: 'annualTargetRateBps', type: 'uint16' },
3168
+ { name: 'excessFeeRateBps', type: 'uint16' },
3108
3169
  ],
3109
3170
  },
3110
3171
  ],
3111
3172
  },
3173
+ { name: 'transferPolicyId', type: 'uint64' },
3112
3174
  ],
3113
3175
  },
3114
3176
  ],
@@ -3119,6 +3181,20 @@ export const earnFactory = [
3119
3181
  ],
3120
3182
  stateMutability: 'nonpayable',
3121
3183
  },
3184
+ {
3185
+ type: 'function',
3186
+ name: 'earnFeesImplementation',
3187
+ inputs: [],
3188
+ outputs: [{ name: '', type: 'address' }],
3189
+ stateMutability: 'view',
3190
+ },
3191
+ {
3192
+ type: 'function',
3193
+ name: 'earnVaultImplementation',
3194
+ inputs: [],
3195
+ outputs: [{ name: '', type: 'address' }],
3196
+ stateMutability: 'view',
3197
+ },
3122
3198
  {
3123
3199
  type: 'function',
3124
3200
  name: 'predictEarnFees',
@@ -3136,44 +3212,44 @@ export const earnFactory = [
3136
3212
  components: [
3137
3213
  { name: 'emergencyGuardian', type: 'address' },
3138
3214
  { name: 'asyncJanitor', type: 'address' },
3215
+ { name: 'maxManagedAssets', type: 'uint256' },
3139
3216
  { name: 'migrationMode', type: 'uint8' },
3140
3217
  ],
3141
3218
  },
3219
+ {
3220
+ name: 'distributorConfig',
3221
+ type: 'tuple',
3222
+ components: [
3223
+ { name: 'distributor', type: 'address' },
3224
+ { name: 'updateDelay', type: 'uint40' },
3225
+ ],
3226
+ },
3142
3227
  {
3143
3228
  name: 'fees',
3144
3229
  type: 'tuple',
3145
3230
  components: [
3146
- { name: 'administrator', type: 'address' },
3147
- { name: 'guardian', type: 'address' },
3148
- { name: 'fixedFeeCap', type: 'uint96' },
3149
- { name: 'excessFeeCap', type: 'uint96' },
3231
+ { name: 'fixedFeeCount', type: 'uint8' },
3232
+ {
3233
+ name: 'fixedFees',
3234
+ type: 'tuple[4]',
3235
+ components: [
3236
+ { name: 'account', type: 'address' },
3237
+ { name: 'rateBps', type: 'uint16' },
3238
+ ],
3239
+ },
3150
3240
  {
3151
- name: 'initialConfig',
3241
+ name: 'excess',
3152
3242
  type: 'tuple',
3153
3243
  components: [
3154
- { name: 'fixedFeeCount', type: 'uint8' },
3155
- {
3156
- name: 'fixedFees',
3157
- type: 'tuple[4]',
3158
- components: [
3159
- { name: 'account', type: 'address' },
3160
- { name: 'rate', type: 'uint96' },
3161
- ],
3162
- },
3163
- {
3164
- name: 'excess',
3165
- type: 'tuple',
3166
- components: [
3167
- { name: 'enabled', type: 'bool' },
3168
- { name: 'account', type: 'address' },
3169
- { name: 'annualTargetRate', type: 'uint96' },
3170
- { name: 'excessFeeRate', type: 'uint96' },
3171
- ],
3172
- },
3244
+ { name: 'enabled', type: 'bool' },
3245
+ { name: 'account', type: 'address' },
3246
+ { name: 'annualTargetRateBps', type: 'uint16' },
3247
+ { name: 'excessFeeRateBps', type: 'uint16' },
3173
3248
  ],
3174
3249
  },
3175
3250
  ],
3176
3251
  },
3252
+ { name: 'transferPolicyId', type: 'uint64' },
3177
3253
  ],
3178
3254
  },
3179
3255
  ],
@@ -3197,50 +3273,57 @@ export const earnFactory = [
3197
3273
  components: [
3198
3274
  { name: 'emergencyGuardian', type: 'address' },
3199
3275
  { name: 'asyncJanitor', type: 'address' },
3276
+ { name: 'maxManagedAssets', type: 'uint256' },
3200
3277
  { name: 'migrationMode', type: 'uint8' },
3201
3278
  ],
3202
3279
  },
3280
+ {
3281
+ name: 'distributorConfig',
3282
+ type: 'tuple',
3283
+ components: [
3284
+ { name: 'distributor', type: 'address' },
3285
+ { name: 'updateDelay', type: 'uint40' },
3286
+ ],
3287
+ },
3203
3288
  {
3204
3289
  name: 'fees',
3205
3290
  type: 'tuple',
3206
3291
  components: [
3207
- { name: 'administrator', type: 'address' },
3208
- { name: 'guardian', type: 'address' },
3209
- { name: 'fixedFeeCap', type: 'uint96' },
3210
- { name: 'excessFeeCap', type: 'uint96' },
3292
+ { name: 'fixedFeeCount', type: 'uint8' },
3293
+ {
3294
+ name: 'fixedFees',
3295
+ type: 'tuple[4]',
3296
+ components: [
3297
+ { name: 'account', type: 'address' },
3298
+ { name: 'rateBps', type: 'uint16' },
3299
+ ],
3300
+ },
3211
3301
  {
3212
- name: 'initialConfig',
3302
+ name: 'excess',
3213
3303
  type: 'tuple',
3214
3304
  components: [
3215
- { name: 'fixedFeeCount', type: 'uint8' },
3216
- {
3217
- name: 'fixedFees',
3218
- type: 'tuple[4]',
3219
- components: [
3220
- { name: 'account', type: 'address' },
3221
- { name: 'rate', type: 'uint96' },
3222
- ],
3223
- },
3224
- {
3225
- name: 'excess',
3226
- type: 'tuple',
3227
- components: [
3228
- { name: 'enabled', type: 'bool' },
3229
- { name: 'account', type: 'address' },
3230
- { name: 'annualTargetRate', type: 'uint96' },
3231
- { name: 'excessFeeRate', type: 'uint96' },
3232
- ],
3233
- },
3305
+ { name: 'enabled', type: 'bool' },
3306
+ { name: 'account', type: 'address' },
3307
+ { name: 'annualTargetRateBps', type: 'uint16' },
3308
+ { name: 'excessFeeRateBps', type: 'uint16' },
3234
3309
  ],
3235
3310
  },
3236
3311
  ],
3237
3312
  },
3313
+ { name: 'transferPolicyId', type: 'uint64' },
3238
3314
  ],
3239
3315
  },
3240
3316
  ],
3241
3317
  outputs: [{ name: '', type: 'address' }],
3242
3318
  stateMutability: 'view',
3243
3319
  },
3320
+ {
3321
+ type: 'function',
3322
+ name: 'tip20Factory',
3323
+ inputs: [],
3324
+ outputs: [{ name: '', type: 'address' }],
3325
+ stateMutability: 'view',
3326
+ },
3244
3327
  {
3245
3328
  type: 'event',
3246
3329
  name: 'EarnStackDeployed',
@@ -3254,7 +3337,9 @@ export const earnFactory = [
3254
3337
  { name: 'deploymentId', type: 'bytes32', indexed: false },
3255
3338
  { name: 'emergencyGuardian', type: 'address', indexed: false },
3256
3339
  { name: 'asyncJanitor', type: 'address', indexed: false },
3340
+ { name: 'maxManagedAssets', type: 'uint256', indexed: false },
3257
3341
  { name: 'migrationMode', type: 'uint8', indexed: false },
3342
+ { name: 'transferPolicyId', type: 'uint64', indexed: false },
3258
3343
  { name: 'earnShareSalt', type: 'bytes32', indexed: false },
3259
3344
  { name: 'controlConfigHash', type: 'bytes32', indexed: false },
3260
3345
  { name: 'feeConfigHash', type: 'bytes32', indexed: false },
@@ -3271,6 +3356,11 @@ export const earnFactory = [
3271
3356
  { type: 'error', name: 'EarnShareSupplyNotZero', inputs: [] },
3272
3357
  { type: 'error', name: 'EmptyDeploymentId', inputs: [] },
3273
3358
  { type: 'error', name: 'EmptyEarnShareMetadata', inputs: [] },
3359
+ {
3360
+ type: 'error',
3361
+ name: 'EngineAlreadyBound',
3362
+ inputs: [{ name: 'earnVault', type: 'address' }],
3363
+ },
3274
3364
  { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] },
3275
3365
  { type: 'error', name: 'FailedDeployment', inputs: [] },
3276
3366
  {
@@ -3281,9 +3371,32 @@ export const earnFactory = [
3281
3371
  { name: 'needed', type: 'uint256' },
3282
3372
  ],
3283
3373
  },
3374
+ { type: 'error', name: 'InvalidDistributorConfig', inputs: [] },
3284
3375
  { type: 'error', name: 'InvalidEarnFeesImplementation', inputs: [] },
3285
3376
  { type: 'error', name: 'InvalidEarnVaultImplementation', inputs: [] },
3377
+ { type: 'error', name: 'InvalidEngine', inputs: [] },
3378
+ {
3379
+ type: 'error',
3380
+ name: 'InvalidTransferPolicy',
3381
+ inputs: [{ name: 'policyId', type: 'uint64' }],
3382
+ },
3286
3383
  { type: 'error', name: 'IssuerGrantFailed', inputs: [] },
3384
+ {
3385
+ type: 'error',
3386
+ name: 'TransferPolicyMismatch',
3387
+ inputs: [
3388
+ { name: 'expected', type: 'uint64' },
3389
+ { name: 'actual', type: 'uint64' },
3390
+ ],
3391
+ },
3392
+ {
3393
+ type: 'error',
3394
+ name: 'UnsupportedTransferPolicy',
3395
+ inputs: [
3396
+ { name: 'policyId', type: 'uint64' },
3397
+ { name: 'policyType', type: 'uint8' },
3398
+ ],
3399
+ },
3287
3400
  { type: 'error', name: 'ZeroAddress', inputs: [] },
3288
3401
  ] as const
3289
3402
 
@@ -3295,6 +3408,27 @@ export const erc4626Engine = [
3295
3408
  outputs: [],
3296
3409
  stateMutability: 'nonpayable',
3297
3410
  },
3411
+ {
3412
+ type: 'function',
3413
+ name: 'asset',
3414
+ inputs: [],
3415
+ outputs: [{ name: '', type: 'address' }],
3416
+ stateMutability: 'view',
3417
+ },
3418
+ {
3419
+ type: 'function',
3420
+ name: 'baseAsset',
3421
+ inputs: [],
3422
+ outputs: [{ name: '', type: 'address' }],
3423
+ stateMutability: 'view',
3424
+ },
3425
+ {
3426
+ type: 'function',
3427
+ name: 'earnVault',
3428
+ inputs: [],
3429
+ outputs: [{ name: '', type: 'address' }],
3430
+ stateMutability: 'view',
3431
+ },
3298
3432
  {
3299
3433
  type: 'function',
3300
3434
  name: 'initializeEarnVault',
@@ -3302,6 +3436,13 @@ export const erc4626Engine = [
3302
3436
  outputs: [],
3303
3437
  stateMutability: 'nonpayable',
3304
3438
  },
3439
+ {
3440
+ type: 'function',
3441
+ name: 'name',
3442
+ inputs: [],
3443
+ outputs: [{ name: '', type: 'string' }],
3444
+ stateMutability: 'view',
3445
+ },
3305
3446
  {
3306
3447
  type: 'function',
3307
3448
  name: 'owner',
@@ -3323,6 +3464,13 @@ export const erc4626Engine = [
3323
3464
  outputs: [],
3324
3465
  stateMutability: 'nonpayable',
3325
3466
  },
3467
+ {
3468
+ type: 'function',
3469
+ name: 'symbol',
3470
+ inputs: [],
3471
+ outputs: [{ name: '', type: 'string' }],
3472
+ stateMutability: 'view',
3473
+ },
3326
3474
  {
3327
3475
  type: 'function',
3328
3476
  name: 'transferOwnership',
@@ -3330,6 +3478,13 @@ export const erc4626Engine = [
3330
3478
  outputs: [],
3331
3479
  stateMutability: 'nonpayable',
3332
3480
  },
3481
+ {
3482
+ type: 'function',
3483
+ name: 'vault',
3484
+ inputs: [],
3485
+ outputs: [{ name: '', type: 'address' }],
3486
+ stateMutability: 'view',
3487
+ },
3333
3488
  {
3334
3489
  type: 'event',
3335
3490
  name: 'Deposited',
@@ -3424,11 +3579,34 @@ export const erc4626Engine = [
3424
3579
  },
3425
3580
  { type: 'error', name: 'ReentrantCall', inputs: [] },
3426
3581
  { type: 'error', name: 'TransferFailed', inputs: [] },
3582
+ {
3583
+ type: 'error',
3584
+ name: 'UnexpectedAssetsReceived',
3585
+ inputs: [
3586
+ { name: 'expectedAssets', type: 'uint256' },
3587
+ { name: 'actualAssets', type: 'uint256' },
3588
+ ],
3589
+ },
3590
+ {
3591
+ type: 'error',
3592
+ name: 'UnexpectedVenueSharesBurned',
3593
+ inputs: [
3594
+ { name: 'expectedShares', type: 'uint256' },
3595
+ { name: 'actualShares', type: 'uint256' },
3596
+ ],
3597
+ },
3427
3598
  { type: 'error', name: 'ZeroAddress', inputs: [] },
3428
3599
  ] as const
3429
3600
 
3430
3601
  export const earnVault = [
3431
3602
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
3603
+ {
3604
+ type: 'function',
3605
+ name: 'acceptDistributor',
3606
+ inputs: [],
3607
+ outputs: [],
3608
+ stateMutability: 'nonpayable',
3609
+ },
3432
3610
  {
3433
3611
  type: 'function',
3434
3612
  name: 'accrueFees',
@@ -3467,6 +3645,20 @@ export const earnVault = [
3467
3645
  outputs: [{ name: '', type: 'address' }],
3468
3646
  stateMutability: 'view',
3469
3647
  },
3648
+ {
3649
+ type: 'function',
3650
+ name: 'cancelDistributorFeeUpdate',
3651
+ inputs: [],
3652
+ outputs: [],
3653
+ stateMutability: 'nonpayable',
3654
+ },
3655
+ {
3656
+ type: 'function',
3657
+ name: 'cancelDistributorTransfer',
3658
+ inputs: [],
3659
+ outputs: [],
3660
+ stateMutability: 'nonpayable',
3661
+ },
3470
3662
  {
3471
3663
  type: 'function',
3472
3664
  name: 'cancelRedeem',
@@ -3481,7 +3673,7 @@ export const earnVault = [
3481
3673
  type: 'function',
3482
3674
  name: 'contribute',
3483
3675
  inputs: [{ name: 'assets', type: 'uint256' }],
3484
- outputs: [{ name: 'venueShares', type: 'uint256' }],
3676
+ outputs: [{ name: 'receivedEngineShares', type: 'uint256' }],
3485
3677
  stateMutability: 'nonpayable',
3486
3678
  },
3487
3679
  {
@@ -3509,13 +3701,6 @@ export const earnVault = [
3509
3701
  outputs: [{ name: 'earnShares', type: 'uint256' }],
3510
3702
  stateMutability: 'nonpayable',
3511
3703
  },
3512
- {
3513
- type: 'function',
3514
- name: 'depositSwapOverride',
3515
- inputs: [{ name: 'inputToken', type: 'address' }],
3516
- outputs: [{ name: 'swapAdapter', type: 'address' }],
3517
- stateMutability: 'view',
3518
- },
3519
3704
  {
3520
3705
  type: 'function',
3521
3706
  name: 'depositVenueShares',
@@ -3541,6 +3726,30 @@ export const earnVault = [
3541
3726
  outputs: [],
3542
3727
  stateMutability: 'nonpayable',
3543
3728
  },
3729
+ {
3730
+ type: 'function',
3731
+ name: 'distributor',
3732
+ inputs: [],
3733
+ outputs: [{ name: '', type: 'address' }],
3734
+ stateMutability: 'view',
3735
+ },
3736
+ {
3737
+ type: 'function',
3738
+ name: 'distributorFee',
3739
+ inputs: [],
3740
+ outputs: [
3741
+ { name: 'recipient', type: 'address' },
3742
+ { name: 'rateBps', type: 'uint16' },
3743
+ ],
3744
+ stateMutability: 'view',
3745
+ },
3746
+ {
3747
+ type: 'function',
3748
+ name: 'distributorUpdateDelay',
3749
+ inputs: [],
3750
+ outputs: [{ name: '', type: 'uint40' }],
3751
+ stateMutability: 'view',
3752
+ },
3544
3753
  {
3545
3754
  type: 'function',
3546
3755
  name: 'earnFees',
@@ -3585,17 +3794,10 @@ export const earnVault = [
3585
3794
  },
3586
3795
  {
3587
3796
  type: 'function',
3588
- name: 'feeAdministrator',
3797
+ name: 'executeDistributorFeeUpdate',
3589
3798
  inputs: [],
3590
- outputs: [{ name: '', type: 'address' }],
3591
- stateMutability: 'view',
3592
- },
3593
- {
3594
- type: 'function',
3595
- name: 'feeGuardian',
3596
- inputs: [],
3597
- outputs: [{ name: '', type: 'address' }],
3598
- stateMutability: 'view',
3799
+ outputs: [{ name: 'feeConfigId', type: 'uint64' }],
3800
+ stateMutability: 'nonpayable',
3599
3801
  },
3600
3802
  {
3601
3803
  type: 'function',
@@ -3622,42 +3824,16 @@ export const earnVault = [
3622
3824
  components: [
3623
3825
  { name: 'emergencyGuardian', type: 'address' },
3624
3826
  { name: 'asyncJanitor', type: 'address' },
3827
+ { name: 'maxManagedAssets', type: 'uint256' },
3625
3828
  { name: 'migrationMode', type: 'uint8' },
3626
3829
  ],
3627
3830
  },
3628
3831
  {
3629
- name: 'feeInit_',
3832
+ name: 'distributorInit_',
3630
3833
  type: 'tuple',
3631
3834
  components: [
3632
- { name: 'administrator', type: 'address' },
3633
- { name: 'guardian', type: 'address' },
3634
- { name: 'fixedFeeCap', type: 'uint96' },
3635
- { name: 'excessFeeCap', type: 'uint96' },
3636
- {
3637
- name: 'initialConfig',
3638
- type: 'tuple',
3639
- components: [
3640
- { name: 'fixedFeeCount', type: 'uint8' },
3641
- {
3642
- name: 'fixedFees',
3643
- type: 'tuple[4]',
3644
- components: [
3645
- { name: 'account', type: 'address' },
3646
- { name: 'rate', type: 'uint96' },
3647
- ],
3648
- },
3649
- {
3650
- name: 'excess',
3651
- type: 'tuple',
3652
- components: [
3653
- { name: 'enabled', type: 'bool' },
3654
- { name: 'account', type: 'address' },
3655
- { name: 'annualTargetRate', type: 'uint96' },
3656
- { name: 'excessFeeRate', type: 'uint96' },
3657
- ],
3658
- },
3659
- ],
3660
- },
3835
+ { name: 'distributor', type: 'address' },
3836
+ { name: 'updateDelay', type: 'uint40' },
3661
3837
  ],
3662
3838
  },
3663
3839
  ],
@@ -3671,6 +3847,13 @@ export const earnVault = [
3671
3847
  outputs: [{ name: '', type: 'bool' }],
3672
3848
  stateMutability: 'view',
3673
3849
  },
3850
+ {
3851
+ type: 'function',
3852
+ name: 'maxManagedAssets',
3853
+ inputs: [],
3854
+ outputs: [{ name: '', type: 'uint256' }],
3855
+ stateMutability: 'view',
3856
+ },
3674
3857
  {
3675
3858
  type: 'function',
3676
3859
  name: 'migrateEngine',
@@ -3696,6 +3879,31 @@ export const earnVault = [
3696
3879
  outputs: [{ name: '', type: 'address' }],
3697
3880
  stateMutability: 'view',
3698
3881
  },
3882
+ {
3883
+ type: 'function',
3884
+ name: 'pendingDistributor',
3885
+ inputs: [],
3886
+ outputs: [{ name: '', type: 'address' }],
3887
+ stateMutability: 'view',
3888
+ },
3889
+ {
3890
+ type: 'function',
3891
+ name: 'pendingDistributorFeeUpdate',
3892
+ inputs: [],
3893
+ outputs: [
3894
+ {
3895
+ name: '',
3896
+ type: 'tuple',
3897
+ components: [
3898
+ { name: 'recipient', type: 'address' },
3899
+ { name: 'rateBps', type: 'uint16' },
3900
+ { name: 'executableAt', type: 'uint40' },
3901
+ { name: 'pending', type: 'bool' },
3902
+ ],
3903
+ },
3904
+ ],
3905
+ stateMutability: 'view',
3906
+ },
3699
3907
  {
3700
3908
  type: 'function',
3701
3909
  name: 'pendingRedeem',
@@ -3708,7 +3916,7 @@ export const earnVault = [
3708
3916
  { name: 'receiver', type: 'address' },
3709
3917
  { name: 'requester', type: 'address' },
3710
3918
  { name: 'burnedEarnShares', type: 'uint256' },
3711
- { name: 'venueShares', type: 'uint256' },
3919
+ { name: 'engineShares', type: 'uint256' },
3712
3920
  { name: 'open', type: 'bool' },
3713
3921
  ],
3714
3922
  },
@@ -3742,9 +3950,9 @@ export const earnVault = [
3742
3950
  },
3743
3951
  {
3744
3952
  type: 'function',
3745
- name: 'redeemSwapOverride',
3746
- inputs: [{ name: 'outputToken', type: 'address' }],
3747
- outputs: [{ name: 'swapAdapter', type: 'address' }],
3953
+ name: 'remainingDepositCapacity',
3954
+ inputs: [],
3955
+ outputs: [{ name: 'assets', type: 'uint256' }],
3748
3956
  stateMutability: 'view',
3749
3957
  },
3750
3958
  {
@@ -3760,10 +3968,10 @@ export const earnVault = [
3760
3968
  },
3761
3969
  {
3762
3970
  type: 'function',
3763
- name: 'setDepositSwapOverride',
3971
+ name: 'scheduleDistributorFeeUpdate',
3764
3972
  inputs: [
3765
- { name: 'inputToken', type: 'address' },
3766
- { name: 'swapAdapter', type: 'address' },
3973
+ { name: 'recipient', type: 'address' },
3974
+ { name: 'rateBps', type: 'uint16' },
3767
3975
  ],
3768
3976
  outputs: [],
3769
3977
  stateMutability: 'nonpayable',
@@ -3799,7 +4007,7 @@ export const earnVault = [
3799
4007
  type: 'tuple[4]',
3800
4008
  components: [
3801
4009
  { name: 'account', type: 'address' },
3802
- { name: 'rate', type: 'uint96' },
4010
+ { name: 'rateBps', type: 'uint16' },
3803
4011
  ],
3804
4012
  },
3805
4013
  {
@@ -3808,8 +4016,8 @@ export const earnVault = [
3808
4016
  components: [
3809
4017
  { name: 'enabled', type: 'bool' },
3810
4018
  { name: 'account', type: 'address' },
3811
- { name: 'annualTargetRate', type: 'uint96' },
3812
- { name: 'excessFeeRate', type: 'uint96' },
4019
+ { name: 'annualTargetRateBps', type: 'uint16' },
4020
+ { name: 'excessFeeRateBps', type: 'uint16' },
3813
4021
  ],
3814
4022
  },
3815
4023
  ],
@@ -3820,11 +4028,8 @@ export const earnVault = [
3820
4028
  },
3821
4029
  {
3822
4030
  type: 'function',
3823
- name: 'setRedeemSwapOverride',
3824
- inputs: [
3825
- { name: 'outputToken', type: 'address' },
3826
- { name: 'swapAdapter', type: 'address' },
3827
- ],
4031
+ name: 'setMaxManagedAssets',
4032
+ inputs: [{ name: 'newMaxManagedAssets', type: 'uint256' }],
3828
4033
  outputs: [],
3829
4034
  stateMutability: 'nonpayable',
3830
4035
  },
@@ -3835,6 +4040,13 @@ export const earnVault = [
3835
4040
  outputs: [{ name: '', type: 'uint256' }],
3836
4041
  stateMutability: 'view',
3837
4042
  },
4043
+ {
4044
+ type: 'function',
4045
+ name: 'transferDistributor',
4046
+ inputs: [{ name: 'newDistributor', type: 'address' }],
4047
+ outputs: [],
4048
+ stateMutability: 'nonpayable',
4049
+ },
3838
4050
  {
3839
4051
  type: 'function',
3840
4052
  name: 'withdrawExact',
@@ -3852,7 +4064,7 @@ export const earnVault = [
3852
4064
  inputs: [
3853
4065
  { name: 'caller', type: 'address', indexed: true },
3854
4066
  { name: 'assets', type: 'uint256', indexed: false },
3855
- { name: 'venueShares', type: 'uint256', indexed: false },
4067
+ { name: 'engineShares', type: 'uint256', indexed: false },
3856
4068
  { name: 'anchorEngineShares', type: 'uint256', indexed: false },
3857
4069
  { name: 'anchorEarnShares', type: 'uint256', indexed: false },
3858
4070
  ],
@@ -3869,21 +4081,66 @@ export const earnVault = [
3869
4081
  },
3870
4082
  {
3871
4083
  type: 'event',
3872
- name: 'DepositSwapOverrideSet',
4084
+ name: 'Deposited',
3873
4085
  inputs: [
3874
- { name: 'inputToken', type: 'address', indexed: true },
3875
- { name: 'swapAdapter', type: 'address', indexed: true },
4086
+ { name: 'caller', type: 'address', indexed: true },
4087
+ { name: 'receiver', type: 'address', indexed: true },
4088
+ { name: 'assets', type: 'uint256', indexed: false },
4089
+ { name: 'earnShares', type: 'uint256', indexed: false },
3876
4090
  ],
3877
4091
  anonymous: false,
3878
4092
  },
3879
4093
  {
3880
4094
  type: 'event',
3881
- name: 'Deposited',
4095
+ name: 'DistributorFeeUpdateCancelled',
4096
+ inputs: [{ name: 'distributor', type: 'address', indexed: true }],
4097
+ anonymous: false,
4098
+ },
4099
+ {
4100
+ type: 'event',
4101
+ name: 'DistributorFeeUpdateScheduled',
3882
4102
  inputs: [
3883
- { name: 'caller', type: 'address', indexed: true },
3884
- { name: 'receiver', type: 'address', indexed: true },
3885
- { name: 'assets', type: 'uint256', indexed: false },
3886
- { name: 'earnShares', type: 'uint256', indexed: false },
4103
+ { name: 'distributor', type: 'address', indexed: true },
4104
+ { name: 'recipient', type: 'address', indexed: true },
4105
+ { name: 'rateBps', type: 'uint16', indexed: false },
4106
+ { name: 'executableAt', type: 'uint40', indexed: false },
4107
+ ],
4108
+ anonymous: false,
4109
+ },
4110
+ {
4111
+ type: 'event',
4112
+ name: 'DistributorFeeUpdated',
4113
+ inputs: [
4114
+ { name: 'recipient', type: 'address', indexed: true },
4115
+ { name: 'rateBps', type: 'uint16', indexed: false },
4116
+ { name: 'feeConfigId', type: 'uint64', indexed: true },
4117
+ ],
4118
+ anonymous: false,
4119
+ },
4120
+ {
4121
+ type: 'event',
4122
+ name: 'DistributorTransferCancelled',
4123
+ inputs: [
4124
+ { name: 'distributor', type: 'address', indexed: true },
4125
+ { name: 'pendingDistributor', type: 'address', indexed: true },
4126
+ ],
4127
+ anonymous: false,
4128
+ },
4129
+ {
4130
+ type: 'event',
4131
+ name: 'DistributorTransferStarted',
4132
+ inputs: [
4133
+ { name: 'distributor', type: 'address', indexed: true },
4134
+ { name: 'pendingDistributor', type: 'address', indexed: true },
4135
+ ],
4136
+ anonymous: false,
4137
+ },
4138
+ {
4139
+ type: 'event',
4140
+ name: 'DistributorTransferred',
4141
+ inputs: [
4142
+ { name: 'previousDistributor', type: 'address', indexed: true },
4143
+ { name: 'newDistributor', type: 'address', indexed: true },
3887
4144
  ],
3888
4145
  anonymous: false,
3889
4146
  },
@@ -3911,6 +4168,15 @@ export const earnVault = [
3911
4168
  ],
3912
4169
  anonymous: false,
3913
4170
  },
4171
+ {
4172
+ type: 'event',
4173
+ name: 'MaxManagedAssetsChanged',
4174
+ inputs: [
4175
+ { name: 'previousMaxManagedAssets', type: 'uint256', indexed: false },
4176
+ { name: 'newMaxManagedAssets', type: 'uint256', indexed: false },
4177
+ ],
4178
+ anonymous: false,
4179
+ },
3914
4180
  {
3915
4181
  type: 'event',
3916
4182
  name: 'RedeemCancelled',
@@ -3944,15 +4210,6 @@ export const earnVault = [
3944
4210
  ],
3945
4211
  anonymous: false,
3946
4212
  },
3947
- {
3948
- type: 'event',
3949
- name: 'RedeemSwapOverrideSet',
3950
- inputs: [
3951
- { name: 'outputToken', type: 'address', indexed: true },
3952
- { name: 'swapAdapter', type: 'address', indexed: true },
3953
- ],
3954
- anonymous: false,
3955
- },
3956
4213
  {
3957
4214
  type: 'event',
3958
4215
  name: 'Redeemed',
@@ -3971,7 +4228,7 @@ export const earnVault = [
3971
4228
  { name: 'caller', type: 'address', indexed: true },
3972
4229
  { name: 'receiver', type: 'address', indexed: true },
3973
4230
  { name: 'requestedVenueShares', type: 'uint256', indexed: false },
3974
- { name: 'receivedVenueShares', type: 'uint256', indexed: false },
4231
+ { name: 'receivedEngineShares', type: 'uint256', indexed: false },
3975
4232
  { name: 'earnShares', type: 'uint256', indexed: false },
3976
4233
  ],
3977
4234
  anonymous: false,
@@ -3987,8 +4244,16 @@ export const earnVault = [
3987
4244
  ],
3988
4245
  anonymous: false,
3989
4246
  },
4247
+ { type: 'error', name: 'ActiveSupplyWithoutBacking', inputs: [] },
3990
4248
  { type: 'error', name: 'AlreadyInitialized', inputs: [] },
3991
4249
  { type: 'error', name: 'DepositsPaused', inputs: [] },
4250
+ { type: 'error', name: 'DistributorFeeUpdateNotPending', inputs: [] },
4251
+ {
4252
+ type: 'error',
4253
+ name: 'DistributorFeeUpdateNotReady',
4254
+ inputs: [{ name: 'executableAt', type: 'uint40' }],
4255
+ },
4256
+ { type: 'error', name: 'DistributorTransferNotPending', inputs: [] },
3992
4257
  {
3993
4258
  type: 'error',
3994
4259
  name: 'DuplicateRequest',
@@ -4000,20 +4265,36 @@ export const earnVault = [
4000
4265
  name: 'EngineCapabilityUnsupported',
4001
4266
  inputs: [{ name: 'interfaceId', type: 'bytes4' }],
4002
4267
  },
4268
+ { type: 'error', name: 'EngineExitUnsupported', inputs: [] },
4003
4269
  { type: 'error', name: 'ExceedsMaxEarnShares', inputs: [] },
4004
4270
  {
4005
4271
  type: 'error',
4006
4272
  name: 'ExcessiveConversionLoss',
4007
4273
  inputs: [
4008
- { name: 'inputEngineShares', type: 'uint256' },
4009
- { name: 'representedEngineShares', type: 'uint256' },
4274
+ { name: 'inputShares', type: 'uint256' },
4275
+ { name: 'representedShares', type: 'uint256' },
4010
4276
  ],
4011
4277
  },
4278
+ {
4279
+ type: 'error',
4280
+ name: 'FinalizedAssetMismatch',
4281
+ inputs: [{ name: 'finalizedAsset', type: 'address' }],
4282
+ },
4283
+ { type: 'error', name: 'GlobalFeeDisableUnavailable', inputs: [] },
4012
4284
  { type: 'error', name: 'InitialEarnShareSupplyNotZero', inputs: [] },
4013
4285
  { type: 'error', name: 'InsufficientOutput', inputs: [] },
4286
+ { type: 'error', name: 'InvalidDistributorConfiguration', inputs: [] },
4287
+ { type: 'error', name: 'InvalidDistributorFeeConfiguration', inputs: [] },
4014
4288
  { type: 'error', name: 'InvalidEarnDecimals', inputs: [] },
4015
4289
  { type: 'error', name: 'InvalidEngineShareScale', inputs: [] },
4016
- { type: 'error', name: 'InvalidSwapOverride', inputs: [] },
4290
+ {
4291
+ type: 'error',
4292
+ name: 'MaxManagedAssetsExceeded',
4293
+ inputs: [
4294
+ { name: 'maximum', type: 'uint256' },
4295
+ { name: 'actual', type: 'uint256' },
4296
+ ],
4297
+ },
4017
4298
  {
4018
4299
  type: 'error',
4019
4300
  name: 'MinimumAssetsNotMet',
@@ -4039,11 +4320,11 @@ export const earnVault = [
4039
4320
  ],
4040
4321
  },
4041
4322
  { type: 'error', name: 'NoEarnShares', inputs: [] },
4323
+ { type: 'error', name: 'NotDistributor', inputs: [] },
4042
4324
  { type: 'error', name: 'NotEmergencyGuardianOrOperator', inputs: [] },
4043
4325
  { type: 'error', name: 'NotEngine', inputs: [] },
4044
- { type: 'error', name: 'NotFeeAdministrator', inputs: [] },
4045
- { type: 'error', name: 'NotFeeGuardian', inputs: [] },
4046
4326
  { type: 'error', name: 'NotOperator', inputs: [] },
4327
+ { type: 'error', name: 'NotPendingDistributor', inputs: [] },
4047
4328
  { type: 'error', name: 'NotRequesterOrJanitor', inputs: [] },
4048
4329
  { type: 'error', name: 'OperatorMigrationDisabled', inputs: [] },
4049
4330
  { type: 'error', name: 'PendingRedeemsOpen', inputs: [] },
@@ -4133,7 +4414,7 @@ export const earnFees = [
4133
4414
  {
4134
4415
  type: 'function',
4135
4416
  name: 'disableFees',
4136
- inputs: [{ name: 'guardian', type: 'address' }],
4417
+ inputs: [{ name: 'operator', type: 'address' }],
4137
4418
  outputs: [],
4138
4419
  stateMutability: 'nonpayable',
4139
4420
  },
@@ -4158,13 +4439,6 @@ export const earnFees = [
4158
4439
  outputs: [{ name: '', type: 'address' }],
4159
4440
  stateMutability: 'view',
4160
4441
  },
4161
- {
4162
- type: 'function',
4163
- name: 'excessFeeCap',
4164
- inputs: [],
4165
- outputs: [{ name: '', type: 'uint96' }],
4166
- stateMutability: 'view',
4167
- },
4168
4442
  {
4169
4443
  type: 'function',
4170
4444
  name: 'feeConfig',
@@ -4180,7 +4454,7 @@ export const earnFees = [
4180
4454
  type: 'tuple[4]',
4181
4455
  components: [
4182
4456
  { name: 'account', type: 'address' },
4183
- { name: 'rate', type: 'uint96' },
4457
+ { name: 'rateBps', type: 'uint16' },
4184
4458
  ],
4185
4459
  },
4186
4460
  {
@@ -4189,8 +4463,8 @@ export const earnFees = [
4189
4463
  components: [
4190
4464
  { name: 'enabled', type: 'bool' },
4191
4465
  { name: 'account', type: 'address' },
4192
- { name: 'annualTargetRate', type: 'uint96' },
4193
- { name: 'excessFeeRate', type: 'uint96' },
4466
+ { name: 'annualTargetRateBps', type: 'uint16' },
4467
+ { name: 'excessFeeRateBps', type: 'uint16' },
4194
4468
  ],
4195
4469
  },
4196
4470
  ],
@@ -4222,13 +4496,6 @@ export const earnFees = [
4222
4496
  outputs: [{ name: '', type: 'bool' }],
4223
4497
  stateMutability: 'view',
4224
4498
  },
4225
- {
4226
- type: 'function',
4227
- name: 'fixedFeeCap',
4228
- inputs: [],
4229
- outputs: [{ name: '', type: 'uint96' }],
4230
- stateMutability: 'view',
4231
- },
4232
4499
  {
4233
4500
  type: 'function',
4234
4501
  name: 'highWaterMark',
@@ -4243,36 +4510,26 @@ export const earnFees = [
4243
4510
  { name: 'earnVault_', type: 'address' },
4244
4511
  { name: 'earnShare_', type: 'address' },
4245
4512
  {
4246
- name: 'init',
4513
+ name: 'initialConfig',
4247
4514
  type: 'tuple',
4248
4515
  components: [
4249
- { name: 'administrator', type: 'address' },
4250
- { name: 'guardian', type: 'address' },
4251
- { name: 'fixedFeeCap', type: 'uint96' },
4252
- { name: 'excessFeeCap', type: 'uint96' },
4516
+ { name: 'fixedFeeCount', type: 'uint8' },
4517
+ {
4518
+ name: 'fixedFees',
4519
+ type: 'tuple[4]',
4520
+ components: [
4521
+ { name: 'account', type: 'address' },
4522
+ { name: 'rateBps', type: 'uint16' },
4523
+ ],
4524
+ },
4253
4525
  {
4254
- name: 'initialConfig',
4526
+ name: 'excess',
4255
4527
  type: 'tuple',
4256
4528
  components: [
4257
- { name: 'fixedFeeCount', type: 'uint8' },
4258
- {
4259
- name: 'fixedFees',
4260
- type: 'tuple[4]',
4261
- components: [
4262
- { name: 'account', type: 'address' },
4263
- { name: 'rate', type: 'uint96' },
4264
- ],
4265
- },
4266
- {
4267
- name: 'excess',
4268
- type: 'tuple',
4269
- components: [
4270
- { name: 'enabled', type: 'bool' },
4271
- { name: 'account', type: 'address' },
4272
- { name: 'annualTargetRate', type: 'uint96' },
4273
- { name: 'excessFeeRate', type: 'uint96' },
4274
- ],
4275
- },
4529
+ { name: 'enabled', type: 'bool' },
4530
+ { name: 'account', type: 'address' },
4531
+ { name: 'annualTargetRateBps', type: 'uint16' },
4532
+ { name: 'excessFeeRateBps', type: 'uint16' },
4276
4533
  ],
4277
4534
  },
4278
4535
  ],
@@ -4367,7 +4624,7 @@ export const earnFees = [
4367
4624
  type: 'tuple[4]',
4368
4625
  components: [
4369
4626
  { name: 'account', type: 'address' },
4370
- { name: 'rate', type: 'uint96' },
4627
+ { name: 'rateBps', type: 'uint16' },
4371
4628
  ],
4372
4629
  },
4373
4630
  {
@@ -4376,8 +4633,8 @@ export const earnFees = [
4376
4633
  components: [
4377
4634
  { name: 'enabled', type: 'bool' },
4378
4635
  { name: 'account', type: 'address' },
4379
- { name: 'annualTargetRate', type: 'uint96' },
4380
- { name: 'excessFeeRate', type: 'uint96' },
4636
+ { name: 'annualTargetRateBps', type: 'uint16' },
4637
+ { name: 'excessFeeRateBps', type: 'uint16' },
4381
4638
  ],
4382
4639
  },
4383
4640
  ],
@@ -4427,6 +4684,39 @@ export const earnFees = [
4427
4684
  outputs: [{ name: '', type: 'uint256' }],
4428
4685
  stateMutability: 'view',
4429
4686
  },
4687
+ {
4688
+ type: 'function',
4689
+ name: 'validateFeeConfig',
4690
+ inputs: [
4691
+ {
4692
+ name: 'config',
4693
+ type: 'tuple',
4694
+ components: [
4695
+ { name: 'fixedFeeCount', type: 'uint8' },
4696
+ {
4697
+ name: 'fixedFees',
4698
+ type: 'tuple[4]',
4699
+ components: [
4700
+ { name: 'account', type: 'address' },
4701
+ { name: 'rateBps', type: 'uint16' },
4702
+ ],
4703
+ },
4704
+ {
4705
+ name: 'excess',
4706
+ type: 'tuple',
4707
+ components: [
4708
+ { name: 'enabled', type: 'bool' },
4709
+ { name: 'account', type: 'address' },
4710
+ { name: 'annualTargetRateBps', type: 'uint16' },
4711
+ { name: 'excessFeeRateBps', type: 'uint16' },
4712
+ ],
4713
+ },
4714
+ ],
4715
+ },
4716
+ ],
4717
+ outputs: [],
4718
+ stateMutability: 'view',
4719
+ },
4430
4720
  {
4431
4721
  type: 'event',
4432
4722
  name: 'FeeBaselinesInitialized',
@@ -4495,12 +4785,10 @@ export const earnFees = [
4495
4785
  {
4496
4786
  type: 'event',
4497
4787
  name: 'FeesDisabled',
4498
- inputs: [{ name: 'guardian', type: 'address', indexed: true }],
4788
+ inputs: [{ name: 'operator', type: 'address', indexed: true }],
4499
4789
  anonymous: false,
4500
4790
  },
4501
4791
  { type: 'error', name: 'AlreadyInitialized', inputs: [] },
4502
- { type: 'error', name: 'FeeCapTooHigh', inputs: [] },
4503
- { type: 'error', name: 'FeesPermanentlyDisabled', inputs: [] },
4504
4792
  { type: 'error', name: 'InsufficientClaimableEarnShares', inputs: [] },
4505
4793
  { type: 'error', name: 'InvalidFeeClaimReceiver', inputs: [] },
4506
4794
  { type: 'error', name: 'InvalidFeeConfiguration', inputs: [] },
@@ -4525,6 +4813,13 @@ export const earnEngine = [
4525
4813
  outputs: [{ name: 'engineShares', type: 'uint256' }],
4526
4814
  stateMutability: 'nonpayable',
4527
4815
  },
4816
+ {
4817
+ type: 'function',
4818
+ name: 'earnVault',
4819
+ inputs: [],
4820
+ outputs: [{ name: '', type: 'address' }],
4821
+ stateMutability: 'view',
4822
+ },
4528
4823
  {
4529
4824
  type: 'function',
4530
4825
  name: 'name',
@@ -4719,10 +5014,7 @@ export const vedaEngine = [
4719
5014
  name: 'getClaim',
4720
5015
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4721
5016
  outputs: [
4722
- { name: 'open', type: 'bool' },
4723
- { name: 'paid', type: 'bool' },
4724
- { name: 'claimable', type: 'bool' },
4725
- { name: 'recorded', type: 'bool' },
5017
+ { name: 'status', type: 'uint8' },
4726
5018
  {
4727
5019
  name: 'request',
4728
5020
  type: 'tuple',
@@ -4841,7 +5133,7 @@ export const vedaEngine = [
4841
5133
  name: 'RedeemCancelledOnQueue',
4842
5134
  inputs: [
4843
5135
  { name: 'requestId', type: 'bytes32', indexed: true },
4844
- { name: 'venueShares', type: 'uint128', indexed: false },
5136
+ { name: 'engineShares', type: 'uint128', indexed: false },
4845
5137
  ],
4846
5138
  anonymous: false,
4847
5139
  },
@@ -4861,7 +5153,7 @@ export const vedaEngine = [
4861
5153
  inputs: [
4862
5154
  { name: 'requestId', type: 'bytes32', indexed: true },
4863
5155
  { name: 'assetOut', type: 'address', indexed: true },
4864
- { name: 'venueShares', type: 'uint128', indexed: false },
5156
+ { name: 'engineShares', type: 'uint128', indexed: false },
4865
5157
  ],
4866
5158
  anonymous: false,
4867
5159
  },
@@ -4935,7 +5227,7 @@ export const vedaEngine = [
4935
5227
  name: 'AssetsNotArrived',
4936
5228
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4937
5229
  },
4938
- { type: 'error', name: 'CannotSweepVenueShares', inputs: [] },
5230
+ { type: 'error', name: 'CannotSweepEngineBacking', inputs: [] },
4939
5231
  {
4940
5232
  type: 'error',
4941
5233
  name: 'ClaimNotClaimable',
@@ -4962,6 +5254,20 @@ export const vedaEngine = [
4962
5254
  inputs: [{ name: 'requestId', type: 'bytes32' }],
4963
5255
  },
4964
5256
  { type: 'error', name: 'EarnVaultNotSet', inputs: [] },
5257
+ { type: 'error', name: 'EmptyMetadata', inputs: [] },
5258
+ {
5259
+ type: 'error',
5260
+ name: 'EngineSharesTooLarge',
5261
+ inputs: [{ name: 'engineShares', type: 'uint256' }],
5262
+ },
5263
+ {
5264
+ type: 'error',
5265
+ name: 'InsufficientAssetsReceived',
5266
+ inputs: [
5267
+ { name: 'minimumAssets', type: 'uint256' },
5268
+ { name: 'actualAssets', type: 'uint256' },
5269
+ ],
5270
+ },
4965
5271
  {
4966
5272
  type: 'error',
4967
5273
  name: 'InvalidAsset',
@@ -5025,6 +5331,7 @@ export const vedaEngine = [
5025
5331
  name: 'OwnableUnauthorizedAccount',
5026
5332
  inputs: [{ name: 'account', type: 'address' }],
5027
5333
  },
5334
+ { type: 'error', name: 'QueueUnavailable', inputs: [] },
5028
5335
  {
5029
5336
  type: 'error',
5030
5337
  name: 'RateChangedWithinTransaction',
@@ -5034,6 +5341,14 @@ export const vedaEngine = [
5034
5341
  ],
5035
5342
  },
5036
5343
  { type: 'error', name: 'ReentrantCall', inputs: [] },
5344
+ {
5345
+ type: 'error',
5346
+ name: 'RegistryEngineMismatch',
5347
+ inputs: [
5348
+ { name: 'expected', type: 'address' },
5349
+ { name: 'actual', type: 'address' },
5350
+ ],
5351
+ },
5037
5352
  {
5038
5353
  type: 'error',
5039
5354
  name: 'RequestDetailsNotRecorded',
@@ -5057,7 +5372,37 @@ export const vedaEngine = [
5057
5372
  { name: 'maxAge', type: 'uint256' },
5058
5373
  ],
5059
5374
  },
5375
+ {
5376
+ type: 'error',
5377
+ name: 'SweepExceedsAvailableBalance',
5378
+ inputs: [
5379
+ { name: 'token', type: 'address' },
5380
+ { name: 'available', type: 'uint256' },
5381
+ { name: 'requested', type: 'uint256' },
5382
+ ],
5383
+ },
5060
5384
  { type: 'error', name: 'TransferFailed', inputs: [] },
5385
+ {
5386
+ type: 'error',
5387
+ name: 'UnexpectedAssetsReceived',
5388
+ inputs: [
5389
+ { name: 'expectedAssets', type: 'uint256' },
5390
+ { name: 'actualAssets', type: 'uint256' },
5391
+ ],
5392
+ },
5393
+ {
5394
+ type: 'error',
5395
+ name: 'UnexpectedVenueSharesBurned',
5396
+ inputs: [
5397
+ { name: 'expectedShares', type: 'uint256' },
5398
+ { name: 'actualShares', type: 'uint256' },
5399
+ ],
5400
+ },
5401
+ {
5402
+ type: 'error',
5403
+ name: 'UnsupportedAccountantFreshness',
5404
+ inputs: [{ name: 'accountant', type: 'address' }],
5405
+ },
5061
5406
  {
5062
5407
  type: 'error',
5063
5408
  name: 'VedaRateOutOfBounds',
@@ -5067,18 +5412,27 @@ export const vedaEngine = [
5067
5412
  { name: 'maxRate', type: 'uint256' },
5068
5413
  ],
5069
5414
  },
5070
- {
5071
- type: 'error',
5072
- name: 'VenueSharesTooLarge',
5073
- inputs: [{ name: 'venueShares', type: 'uint256' }],
5074
- },
5075
5415
  { type: 'error', name: 'ZeroAddress', inputs: [] },
5076
5416
  ] as const
5077
5417
 
5078
5418
  export const earnRouter = [
5079
5419
  {
5080
5420
  type: 'function',
5081
- name: 'STABLECOIN_DEX',
5421
+ name: 'allowedZoneId',
5422
+ inputs: [],
5423
+ outputs: [{ name: '', type: 'uint32' }],
5424
+ stateMutability: 'view',
5425
+ },
5426
+ {
5427
+ type: 'function',
5428
+ name: 'earnShare',
5429
+ inputs: [],
5430
+ outputs: [{ name: '', type: 'address' }],
5431
+ stateMutability: 'view',
5432
+ },
5433
+ {
5434
+ type: 'function',
5435
+ name: 'earnVault',
5082
5436
  inputs: [],
5083
5437
  outputs: [{ name: '', type: 'address' }],
5084
5438
  stateMutability: 'view',
@@ -5097,6 +5451,20 @@ export const earnRouter = [
5097
5451
  outputs: [{ name: '', type: 'bytes4' }],
5098
5452
  stateMutability: 'nonpayable',
5099
5453
  },
5454
+ {
5455
+ type: 'function',
5456
+ name: 'privateAsset',
5457
+ inputs: [],
5458
+ outputs: [{ name: '', type: 'address' }],
5459
+ stateMutability: 'view',
5460
+ },
5461
+ {
5462
+ type: 'function',
5463
+ name: 'reserveToken',
5464
+ inputs: [],
5465
+ outputs: [{ name: '', type: 'address' }],
5466
+ stateMutability: 'view',
5467
+ },
5100
5468
  {
5101
5469
  type: 'function',
5102
5470
  name: 'supportsFlow',
@@ -5104,6 +5472,27 @@ export const earnRouter = [
5104
5472
  outputs: [{ name: '', type: 'bool' }],
5105
5473
  stateMutability: 'pure',
5106
5474
  },
5475
+ {
5476
+ type: 'function',
5477
+ name: 'tokenAuthority',
5478
+ inputs: [],
5479
+ outputs: [{ name: '', type: 'address' }],
5480
+ stateMutability: 'view',
5481
+ },
5482
+ {
5483
+ type: 'function',
5484
+ name: 'transactionLimit',
5485
+ inputs: [],
5486
+ outputs: [{ name: '', type: 'uint256' }],
5487
+ stateMutability: 'view',
5488
+ },
5489
+ {
5490
+ type: 'function',
5491
+ name: 'vaultAsset',
5492
+ inputs: [],
5493
+ outputs: [{ name: '', type: 'address' }],
5494
+ stateMutability: 'view',
5495
+ },
5107
5496
  {
5108
5497
  type: 'event',
5109
5498
  name: 'EarnDeposit',
@@ -5132,32 +5521,33 @@ export const earnRouter = [
5132
5521
  ],
5133
5522
  anonymous: false,
5134
5523
  },
5524
+ { type: 'error', name: 'AmountExceedsLimit', inputs: [] },
5135
5525
  { type: 'error', name: 'AmountOverflow', inputs: [] },
5136
5526
  { type: 'error', name: 'BadFlow', inputs: [] },
5137
5527
  { type: 'error', name: 'InsufficientOutput', inputs: [] },
5528
+ { type: 'error', name: 'InvalidAuthority', inputs: [] },
5138
5529
  { type: 'error', name: 'InvalidEarnVault', inputs: [] },
5530
+ { type: 'error', name: 'InvalidPrivateAsset', inputs: [] },
5531
+ { type: 'error', name: 'InvalidReturnToken', inputs: [] },
5532
+ { type: 'error', name: 'InvalidRoutePair', inputs: [] },
5139
5533
  { type: 'error', name: 'InvalidSourcePortal', inputs: [] },
5140
- { type: 'error', name: 'InvalidTargetPortal', inputs: [] },
5141
- { type: 'error', name: 'InvalidToken', inputs: [] },
5534
+ { type: 'error', name: 'MismatchedTransactionLimit', inputs: [] },
5142
5535
  { type: 'error', name: 'NotZoneMessenger', inputs: [] },
5143
5536
  { type: 'error', name: 'ReentrantCall', inputs: [] },
5144
5537
  { type: 'error', name: 'ResidualBalance', inputs: [] },
5145
5538
  { type: 'error', name: 'TokenCallFailed', inputs: [] },
5146
5539
  { type: 'error', name: 'TokenCallFalse', inputs: [] },
5147
- { type: 'error', name: 'WrongEarnShare', inputs: [] },
5148
- { type: 'error', name: 'WrongOutputToken', inputs: [] },
5149
- { type: 'error', name: 'WrongSourceAsset', inputs: [] },
5540
+ { type: 'error', name: 'WrongInputToken', inputs: [] },
5541
+ { type: 'error', name: 'WrongSourceZone', inputs: [] },
5150
5542
  { type: 'error', name: 'ZeroAddress', inputs: [] },
5151
5543
  { type: 'error', name: 'ZeroAmount', inputs: [] },
5152
5544
  ] as const
5153
5545
 
5154
- // `ZoneOnlyEarnRouter.CallbackData` parameter for `encodeAbiParameters`.
5546
+ // `SingleZoneEarnRouter.CallbackData` parameter for `encodeAbiParameters`.
5155
5547
  export const earnRouterCallbackData = [
5156
5548
  {
5157
5549
  components: [
5158
5550
  { name: 'flow', type: 'uint8' },
5159
- { name: 'earnVault', type: 'address' },
5160
- { name: 'outputToken', type: 'address' },
5161
5551
  { name: 'minVaultAssets', type: 'uint128' },
5162
5552
  { name: 'minEarnShares', type: 'uint128' },
5163
5553
  { name: 'minOutputAmount', type: 'uint128' },