Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
curl -X 'POST' \
'https://api.staging.alluvial.finance/v0/platform/accounts' \
-H 'accept: application/json' \
-H 'Authorization: Bearer 'eyJhbGci…CVm5g'
-d '{
"key": "foobar-123"
}'{
"id": "4b1d05ed-b498-4847-99a0-c415c6b19f6b",
"key": "foobar-123",
"org_id": "org_WaYHN06ay6WoT...",
"status": "ACTIVE",
"created_at": "2024-02-09T22:40:28.954304245Z",
"wallets": []
}curl -X 'POST' \
'https://api.staging.alluvial.finance/v0/platform/accounts/4b1d05ed-b498-4847-99a0-c415c6b19f6b/wallets/' \
-H 'accept: application/json' \
-H 'Authorization: Bearer 'eyJhbGci…CVm5g'
-D '{
"address": "0x469b998812B9675b7B2Fb37519f574fEA5ee92E8",
"allowlisted": "false",
"type": "ETH"
}'{
"id": "421a39a1-e9c3-4a33-81bc-98eff7bfd502",
"type": "ETH",
"address": "0x469b998812b9675b7b2fb37519f574fea5ee92e8",
"status": "NOT_ALLOWLISTED",
"on_platform": true,
"created_at": "2024-02-09T22:43:02.249045841Z"
}This guide is intended for Platforms to learn about how they can integrate the Liquid Collective protocol with the support of Alluvial's APIs.
curl -X 'POST' \
'https://auth.staging.alluvial.finance/oauth/token' \
-H 'content-type: application/json' \
-d '{
"audience": "https://api.staging.alluvial.finance",
"grant_type": "client_credentials",
"client_id": "<YOUR_CLIENT_ID>",
"client_secret": "<YOUR_CLIENT_SECRET>"
}'{
"access_token": "eyJz93a...k4laUZw",
"scope": "read:eth-oracle...read:eth-operators",
"expires_in": 86400,
"token_type": "Bearer"
}curl -X 'POST' \
'https://auth.alluvial.finance/oauth/token' \
-H 'content-type: application/json' \
-d '{
"audience": "https://api.alluvial.finance",
"grant_type": "client_credentials",
"client_id": "<YOUR_CLIENT_ID>",
"client_secret": "<YOUR_CLIENT_SECRET>"
}'{
"access_token": "eyJz93a...k4laUWw",
"scope": "read:eth-oracle...read:eth-operators",
"expires_in": 86400,
"token_type": "Bearer"
}curl -X 'POST' \
'https://api.staging.alluvial.finance/v0/platform/accounts
curl -X 'POST' \
'https://api.staging.alluvial.finance/v0/platform/accounts/da36a6fa-070d-4cd1-b99a-f2da4f4ccb20/wallets' \
-H 'accept: application/json' \
-H 'Authorization: Bearer eyJhbGci…CVm5g' \
-H 'Content-Type: application/json' \
-d '{
"address": "0x5210d328bC5651F92F4557EfDE08dd97A36A935c",
"type": "ETH"
}'curl -X 'POST' \
'https://api.staging.alluvial.finance/v0/platform/accounts/da36a6fa-070d-4cd1-b99a-f2da4f4ccb20/wallets' \
-H 'accept: application/json' \
-H 'Authorization: Bearer eyJhbGci…CVm5g' \
-H 'Content-Type: application/json' \
-d '{
"address": "0x5210d328bC5651F92F4557EfDE08dd97A36A935c",
"type": "ETH",
"allowlisted": "false"
}'{
"id": "da36a6fa-070d-4cd1-b99a-f2da4f4ccb20",
"key": "FO123",
"org_id": "org_WaYHN06ay6WoTjcz",
"status": "ACTIVE",
"created_at": "2023-03-17T17:24:18.031434748Z",
"wallets": []
}{
"id": "a41c520e-fadd-4c0c-a1ce-d574ee731cee",
"type": "ETH",
"address": "0x5210d328bC5651F92F4557EfDE08dd97A36A935c",
"account_id": "993327a3-1d48-4eff-a9ee-7ec769ec1f64",
"status": "ALLOWLISTED",
"allowlisted": true,
"on_platform": true,
"created_at": "2024-03-25T18:38:31.427654433Z"
}{
"address": "0x5210d328bC5651F92F4557EfDE08dd97A36A935c",
"created_at": "string",
"id": "string",
"status": "NOT_ALLOWLISTED",
"type": "ETH",
"on_platform": "true"
}curl 'https://auth.alluvial.finance/oauth/token' \
--header 'content-type: application/json' \
--data '{
"audience": "https://api.staging.alluvial.finance",
"grant_type": "client_credentials",
"client_id": "<YOUR_CLIENT_ID>",
"client_secret": "<YOUR_CLIENT_SECRET>"
}'{
"access_token": "eyJhbGci…CVm5g",
"scope": "read:eth-oracle read:eth-contracts read:eth-operators",
"expires_in": 86400,
"token_type": "Bearer"
}curl 'https://api.staging.alluvial.finance/v0/wallets/0x2B7ff5d4C14A9Da8d5C9354c7A52aB40DdC1C01e' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJh...b'






{
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"allowlisted": true,
"permissions": {
"staking": true,
"redemption": true
}
}{
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"permissions": {
"staking": true,
"redemption": true
}
}{
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"allowlisted": true,
"permissions": {
"staking": true,
"redemption": true
},
"created_at": "2025-01-15T10:30:00Z"
}curl --request POST 'https://api.staging.alluvial.finance/eth/v0/rewards' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer e...g' \
--data '[
{
"balance": "1",
"from": "2024-04-01",
"to": "2024-04-10"
},
{
"balance": "3",
"from": "2024-04-11",
"to": "2024-04-15"
}
]'{
"balance": "4",
"accrued_rewards": "0.0041516089956458",
"lots": [
{
"from": "2024-04-01",
"to": "2024-04-10",
"start_conversion_rate": "1.0014257204933798",
"end_conversion_rate": "1.0023467329617235",
"balance": "1",
"accrued_rewards": "0.0009210124683437"
},
{
"from": "2024-04-11",
"to": "2024-04-15",
"start_conversion_rate": "1.0026157619809285",
"end_conversion_rate": "1.0036926274900292",
"balance": "3",
"accrued_rewards": "0.0032305965273021"
}
]
}curl --request POST 'https://api.staging.alluvial.finance/eth/v0/rewards/accounts' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Impersonate-Org: org_uLD0aCAXyWYg4WQH' \
--header 'Authorization: Bearer ey...Qg' \
--data '{
"accounts": [
"8f9d6eff-d630-4389-810f-89c4b07b8fc5"
],
"date": "2024-05-15",
"unit": "eth"
}'[
{
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"totals": {
"balance_lseth": "0.0000198315414745",
"rewards_eth": "0.000000000092766089"
},
"date": "2024-05-15",
"wallets": [
{
"oracle_report": "1437a7330f02400a5662ed70f5c23b251d76fdb1ede48240d9f1e7bcd70540470000014b",
"address": "0x7fc2B172EcC8E4609088f341Aa0Fb3841De8A77A",
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"org_id": "org_WaYHN06ay6WoTjcz",
"date": "2024-05-15",
"balance_lseth": "0.00000991577073725",
"rewards_eth": "0.000000000092766089",
"total_rewards_eth": "0.000000000092766089",
"conversion_rate": "1.0085131998588114",
"previous_conversion_rate": "1.0085038444500037",
"mints_lseth": "0",
"total_mints_lseth": "0.00000991577073725",
"burns_lseth": "0",
"total_burns_lseth": "0",
"fees_eth": "0.000000000010307343",
"total_fees_eth": "0.000000000010307343",
"dao_fees_eth": "0.000000000000979198",
"total_dao_fees_eth": "0.000000000000979198",
"provider_fees_eth": "0.000000000000360757",
"total_provider_fees_eth": "0.000000000000360757",
"slashing_fees_eth": "0.00000000000030922",
"total_slashing_fees_eth": "0.00000000000030922",
"platform_fees_eth": "0.000000000007112067",
"total_platform_fees_eth": "0.000000000007112067",
"operator_fees_eth": "0.000000000001546101",
"total_operator_fees_eth": "0.000000000001546101"
}
]
}
]curl --request POST 'https://api.staging.alluvial.finance/eth/v0/rewards/wallets' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Impersonate-Org: org_uLD0aCAXyWYg4WQH' \
--header 'Authorization: Bearer ey...Qg' \
--data '{
"addresses": [
"0x7fc2B172EcC8E4609088f341Aa0Fb3841De8A77A"
],
"date": "2024-05-15",
"unit": "eth"
}'[
{
"oracle_report": "1437a7330f02400a5662ed70f5c23b251d76fdb1ede48240d9f1e7bcd70540470000014b",
"address": "0x7fc2B172EcC8E4609088f341Aa0Fb3841De8A77A",
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"org_id": "org_WaYHN06ay6WoTjcz",
"date": "2024-05-15",
"balance_lseth": "0.00000991577073725",
"rewards_eth": "0.000000000092766089",
"total_rewards_eth": "0.000000000092766089",
"conversion_rate": "1.0085131998588114",
"previous_conversion_rate": "1.0085038444500037",
"mints_lseth": "0",
"total_mints_lseth": "0.00000991577073725",
"burns_lseth": "0",
"total_burns_lseth": "0",
"fees_eth": "0.000000000010307343",
"total_fees_eth": "0.000000000010307343",
"dao_fees_eth": "0.000000000000979198",
"total_dao_fees_eth": "0.000000000000979198",
"provider_fees_eth": "0.000000000000360757",
"total_provider_fees_eth": "0.000000000000360757",
"slashing_fees_eth": "0.00000000000030922",
"total_slashing_fees_eth": "0.00000000000030922",
"platform_fees_eth": "0.000000000007112067",
"total_platform_fees_eth": "0.000000000007112067",
"operator_fees_eth": "0.000000000001546101",
"total_operator_fees_eth": "0.000000000001546101"
}
]curl 'https://api.alluvial.finance/eth/v0/protocol/2024-05-01' \
--header 'Accept: application/json' \
--header 'Accept: application/json'[
{
"oracle_report": "2e39c7e7e0b78c043ac98e190175fa7f057a75197647d4d844864ac06c98aa3400000225",
"date": "2024-05-01T12:14:47Z",
"total_protocol_mints_lseth": "89180.704128270784037675",
"total_protocol_burns_lseth": "6676.332903830493099868",
"total_protocol_active_keys_count": 2703,
"rewards_eth": "6.66289490787142415",
"gross_fee_rate": "0.1",
"gross_fee_lseth": "0.636483355669561459",
"conversion_rate": "1.0468294022963504",
"total_lseth_supply": "82674.954629966742503924",
"a_srr_7d": "2.85"
}
]curl --location --request POST 'https://api.staging.alluvial.finance/v0/platform/accounts/8f9d6eff-d630-4389-810f-89c4b07b8fc5/discount_rate' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJQ' \
--data '{
"target_fee_rate": 0.08
}'{
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"target_fee_rate": "0.08",
"created_at": "2024-06-24T21:27:07.387160077Z"
}curl --location --request POST 'https://api.staging.alluvial.finance/eth/v0/rewards/accounts' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJ...mQ' \
--data '{
"accounts": [
"8f9d6eff-d630-4389-810f-89c4b07b8fc5"
],
"date": "2024-06-22",
"unit": "lseth"
}'[
{
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"totals": {
"balance_lseth": "0.947997263286356641",
"rewards_eth": "0.001671038079957103"
},
"date": "2024-06-22",
"wallets": [
{
"oracle_report": "43306f4695a1d7ed4118c68fecd150e1f071b338815007960e61900d8d9c123e00000046",
"address": "0x4D1c3ec0B381F012A90f096cD4E8bc7746e4f2eB",
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"org_id": "org_WaYHN06ay6WoTjcz",
"date": "2024-06-22",
"balance_lseth": "0.00001",
"rewards_eth": "0.000000000087955639",
"total_rewards_eth": "0.000000020987954327",
"conversion_rate": "1.0106749980064223",
"previous_conversion_rate": "1.0106662024425232",
"mints_lseth": "0",
"total_mints_lseth": "0",
"burns_lseth": "0",
"total_burns_lseth": "0",
"fees_eth": "0.000000000009772849",
"total_fees_eth": "0.000000002331994927",
"dao_fees_eth": "0.000000000000928421",
"total_dao_fees_eth": "0.000000000221539524",
"provider_fees_eth": "0.00000000000034205",
"total_provider_fees_eth": "0.000000000081619819",
"slashing_fees_eth": "0.000000000000293185",
"total_slashing_fees_eth": "0.00000000006995985",
"platform_fees_eth": "0.000000000006743266",
"total_platform_fees_eth": "0.000000001609076496",
"platform_fees_at_discount_rate_eth": "0",
"total_platform_fees_at_discount_rate_eth": "0",
"operator_fees_eth": "0.000000000001465927",
"total_operator_fees_eth": "0.00000000034979924",
"gross_protocol_fee_rate": "0",
"discount_rate": "0",
"gross_fees_eth": "0.000000000009772849",
"total_gross_fees_eth": "0.000000002331994927",
"gross_rewards_eth": "0.000000000097728488",
"total_gross_rewards_eth": "0.000000000189971905",
"rebate_eth": "0",
"total_rebate_eth": "0",
"rebate_lseth": "0",
"total_rebate_lseth": "0"
},
{
"oracle_report": "43306f4695a1d7ed4118c68fecd150e1f071b338815007960e61900d8d9c123e00000046",
"address": "0x7fc2B172EcC8E4609088f341Aa0Fb3841De8A77A",
"account_id": "8f9d6eff-d630-4389-810f-89c4b07b8fc5",
"org_id": "org_WaYHN06ay6WoTjcz",
"date": "2024-06-22",
"balance_lseth": "0.947987263286356641",
"rewards_eth": "0.000008338082549768",
"total_rewards_eth": "0.001671017092002776",
"conversion_rate": "1.0106749980064223",
"previous_conversion_rate": "1.0106662024425232",
"mints_lseth": "0",
"total_mints_lseth": "5.947997863289656641",
"burns_lseth": "0",
"total_burns_lseth": "0.0000006000033",
"fees_eth": "0.000000926453616641",
"total_fees_eth": "0.000185668565778085",
"dao_fees_eth": "0.000000088013093581",
"total_dao_fees_eth": "0.000017638513748923",
"provider_fees_eth": "0.000000032425876582",
"total_provider_fees_eth": "0.000006498399802232",
"slashing_fees_eth": "0.000000027793608499",
"total_slashing_fees_eth": "0.000005570056973343",
"platform_fees_eth": "0.000000639252995482",
"total_platform_fees_eth": "0.000128111310386881",
"platform_fees_at_discount_rate_eth": "0",
"total_platform_fees_at_discount_rate_eth": "0",
"operator_fees_eth": "0.000000138968042496",
"total_operator_fees_eth": "0.000027850284866709",
"gross_protocol_fee_rate": "0",
"discount_rate": "0",
"gross_fees_eth": "0.000000926453616641",
"total_gross_fees_eth": "0.000185668565778085",
"gross_rewards_eth": "0.000009264536166409",
"total_gross_rewards_eth": "0.000018009094566287",
"rebate_eth": "0",
"total_rebate_eth": "0",
"rebate_lseth": "0",
"total_rebate_lseth": "0"
}
]
}
]Create a discounted fee rate for an account
Account ID or Key of the account to add discounted fee rate to
0.05OK
36cc991e-d4r5-422c-8248-ac356e800fc12023-12-31T23:59:59Z2023-12-31T23:59:59Z0.05Invalid discount rate" {message:discountRateValidation}
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Account not found
error messageIR001Discounted fee rate already exists for this account. To modify it, please use the update api endpoint.
error messageIR001Internal error
error messageIR001Get the discounted fee rate for an account
Account ID or Key of the account to get discount rate for
OK
36cc991e-d4r5-422c-8248-ac356e800fc12023-12-31T23:59:59Z2023-12-31T23:59:59Z0.05Unauthorized
error messageIR001Forbidden
error messageIR001Account not found
error messageIR001Internal error
error messageIR001Update a discounted fee rate for an account. If the discount rate already exists, it will be updated. A TargetFeeRate of 0.1 means no discount.
Account ID or Key of the account to update discounted fee rate for
0.05OK
36cc991e-d4r5-422c-8248-ac356e800fc12023-12-31T23:59:59Z2023-12-31T23:59:59Z0.05Discount rate is already set to the requested value
Invalid discount rate" {message:discountRateValidation}
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Account not found
error messageIR001Internal error
error messageIR001Get global information about protocol token supplies
OK
Count of total validators minus stopped validators on the consensus layer
58Total consensus ETH balance of all validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Height of the returned data
15034284Total collected rewards
3200000000000000000000ETH balance on the contract in Wei
5000000000000000000Number of deposits
2Total ETH balance of exited validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Total ETH balance of exiting validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Count of funded validators
102Previous typo made, keeping for backwards compatibility
102Count of funded validators and pending activation on the consensus layer (as reported by the Oracle)
2Total ETH balance of pending validators in GWei
64000000000000000000trueTotal ETH balance of skimmed withdrawals (as reported by the Oracle) in Wei
128000000000000000000falseCount of stopped LC validators on the consensus layer (as reported by the Oracle)
42Total ETH balance managed by the River protocol in GWei
3200000000000000000000Total ETH deposited
3200000000000000000000Total LsETH supply
3200000000000000000000Count of all LC validators found on the consensus layer (as reported by the Oracle)
100Internal error
error messageIR001Get global information about protocol token supplies at a given block number
Block height to query
OK
Count of total validators minus stopped validators on the consensus layer
58Total consensus ETH balance of all validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Height of the returned data
15034284Total collected rewards
3200000000000000000000ETH balance on the contract in Wei
5000000000000000000Number of deposits
2Total ETH balance of exited validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Total ETH balance of exiting validators on the consensus layer (as reported by the Oracle) in Wei
128000000000000000000Count of funded validators
102Previous typo made, keeping for backwards compatibility
102Count of funded validators and pending activation on the consensus layer (as reported by the Oracle)
2Total ETH balance of pending validators in GWei
64000000000000000000trueTotal ETH balance of skimmed withdrawals (as reported by the Oracle) in Wei
128000000000000000000falseCount of stopped LC validators on the consensus layer (as reported by the Oracle)
42Total ETH balance managed by the River protocol in GWei
3200000000000000000000Total ETH deposited
3200000000000000000000Total LsETH supply
3200000000000000000000Count of all LC validators found on the consensus layer (as reported by the Oracle)
100Bad Request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List LsETH balance of several addresses It is possible to specify for which block and which addresses to get the balances.
Comma separated list of addresses (if empty returns all addresses)
Block number at which to get balance for (latest by default)
Limit of elements to return (100 by default)
OK
Owner address
0x123456789985ca04a69c35978c3a3e778d6ef172LsETH balance
4200000000000000000000Block height of the balance
15034284Bad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Get LsETH balance of a given address It is possible to specify for which block to get the balance at.
Account address to query the balance for
Block number at which to get balance for (latest by default)
OK
Owner address
0x123456789985ca04a69c35978c3a3e778d6ef172LsETH balance
4200000000000000000000Block height of the balance
15034284Bad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Get the LsETH balance history for a given address It returns a balance object for every block a balance change occurred It is possible to filter the history for a range of blocks
Address of the balance to query balance for
Starting block height to query (0 by default)
Ending block height to query (latest by default)
Limit of elements to return (100 by default)
OK
Owner address
0x123456789985ca04a69c35978c3a3e778d6ef172LsETH balance
4200000000000000000000Block height of the balance
15034284Bad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List all the smart contracts addresses used
OK
Internal error
error messageIR001List the redeem requests for one or multiple owners (addresses)
The address or addresses to query, separated by commas
OK
The possible amount available to claim in LsETH
16.25The amount already claimed in ETH
16.5The amount already claimed in LsETH
16.25The height is the cumulative sum of all the sizes of preceding redeem requests
1024.75The ID of the redeem request
1048576The maximum amount of ETH redeemable by this request
33The owner of the redeem request
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Block time
Timestamp
2024-01-25 13:07:50.335845 +0000 UTCThe amount of the redeem request in LsETH
32.5The withdrawal event ID needed to claim the redeem (or -1 when no withdrawals available)
42Bad Request
error messageIR001Internal Error
error messageIR001List a redeem request by the request id, obtained from /eth/v0/redeems
The redeem request id to query
OK
The possible amount available to claim in LsETH
16.25The amount already claimed in ETH
16.5The amount already claimed in LsETH
16.25The height is the cumulative sum of all the sizes of preceding redeem requests
1024.75The ID of the redeem request
1048576The maximum amount of ETH redeemable by this request
33The owner of the redeem request
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Block time
Timestamp
2024-01-25 13:07:50.335845 +0000 UTCThe amount of the redeem request in LsETH
32.5The withdrawal event ID needed to claim the redeem (or -1 when no withdrawals available)
42Bad Request
error messageIR001Not Found
error messageIR001Internal Error
error messageIR001Get a redeem request time projection for becoming redeemable
The redeem request id to query
OK
Bad Request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not Found
error messageIR001Internal Error
error messageIR001List the withdrawal event height and redeem request height
OK
The cumulative sum of the redeem request heights
The cumulative sum of the withdrawal event heights
Internal Error
error messageIR001Get the redeem manager time projection for being fulfilled
OK
Unauthorized
error messageIR001Forbidden
error messageIR001Internal Error
error messageIR001Returns validator exit queue info, including time estimates.
OK
Internal error
error messageIR001List latest available high-level protocol
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
OK
3.951.0123452023-01-02T03:04:05Z0.18510.15f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef0.111.234122007944.381120520123.456789763232Bad Request
error messageIR001Internal error
error messageIR001List high-level protocol info for a given date
Date filter by year, month or day (eg. 2023, 2023-12, 2023-12-31). Note: times are UTC
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
Number of results per page (1-1000, default 100)
Cursor returned from previous page
OK
3.951.0123452023-01-02T03:04:05Z0.18510.15f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef0.111.234122007944.381120520123.456789763232Bad Request
error messageIR001Internal error
error messageIR001List wallet transactions for a given time period and wallet address
Wallet address
Start date (default: 1 year ago)
End date (default: current time)
Output as CSV
Page size (default: 100)
Next cursor
OK
109.50.962024-06-21true0x5E9E16C6DEB4022399E4FCD387BCB59AC5855762DepositBad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001List all platform fees for a given date
Date filter by year, month or day (eg. 2023, 2023-12, 2023-12-31). Note: times are UTC
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
Number of oracle reports per page (1-1000, default 100)
Cursor returned from previous page
OK
1.0123450.000012345670.00152023-01-02T03:04:05Z0.00012340.0001234567890.0035f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000eforg_example12340.00012345670.0970.00012345670.00012345670.00012345670.00012345670.00012345670.00012345670.00012345670.00012345670.000123456732.123432.12340.00012345670.00012345670.00012345670.00012345670.00012345670.00012345670.0001234567120520123.4567890.00012345670.00012345670.00000123456780.0030.00001234567890.0035120520123.456789120520123.4567893Bad Request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List platform operator fees for a given date
Date filter by year, month or day (eg. 2023, 2023-12, 2023-12-31). Note: times are UTC
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
Number of oracle reports per page (1-1000, default 100)
Cursor returned from previous page
OK
1.0123452023-01-02T03:04:05Z50.50.00006f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000eforg_example1234100.000123Bad Request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List rewards for a time period
0.3827486422527214612024-01-012024-01-31OK
0.000039305549364450.0000380755743340170.38274864225272151.0372532256655272024-01-011.03715374634638452024-01-31Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List rewards by account for a specific date
["bb3e6114-af15-43a6-9b36-a5ec011d9d95"]2024-04-11lsethOK
bb3e6114-af15-43a6-9b36-a5ec011d9d952024-04-110.38274864225272150.00003930554936445ab3e5114-af15-45b8-9c43-a5ec011d9d950x30e2a735D692fC28CD31C28F1A8259b4790f9A230.005346333870.38274864225272150.11.0372532256655274.25550536674e-72024-04-110.0000067192190001210.0000062641748371040.0000062641748371040.0000062641748371040.482088602351740450.00000626417483710468bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164org_aDL0aCAXyWYgHQ4W0.0000062641748371040.000005196196026761.03715374634638451.56781776669e-70.0000062641748371040.0000062641748371040.0000380755743340171.34384380002e-70.080.1094.39297316428e-70.0000069362734172580.0000062641748371040.0000062641748371040.491748642252721470.0000062641748371040.0000062641748371040.0000053640514426791.61846379739e-70.0000062641748371040.0000062641748371040.000039305549364451.38725468346e-7Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Get rewards for a list of wallets on a specific date
["0x5d811a9d059dDAB0C18B385ad3b752f734f011cB"]2024-04-11ethOK
ab3e5114-af15-45b8-9c43-a5ec011d9d950x30e2a735D692fC28CD31C28F1A8259b4790f9A230.005346333870.38274864225272150.11.0372532256655274.25550536674e-72024-04-110.0000067192190001210.0000062641748371040.0000062641748371040.0000062641748371040.482088602351740450.00000626417483710468bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164org_aDL0aCAXyWYgHQ4W0.0000062641748371040.000005196196026761.03715374634638451.56781776669e-70.0000062641748371040.0000062641748371040.0000380755743340171.34384380002e-70.080.1094.39297316428e-70.0000069362734172580.0000062641748371040.0000062641748371040.491748642252721470.0000062641748371040.0000062641748371040.0000053640514426791.61846379739e-70.0000062641748371040.0000062641748371040.000039305549364451.38725468346e-7Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Provides a summary of rewards with a breakdown of reward totals for each wallet within the account. NOTE: Daily breakdown for each wallet address within the account is NOT included in the response.
Account ID
Start date (default: 1 month ago)
End date (default: current time)
Export to CSV
Currency unit
OK
ab3e5114-af15-45b8-9c43-a5ec011d9d951.04548651816499662024-04-01org_aDs4aCACyWYgMQ4A1.0062823406207872024-04-30ab3e5114-af15-45b8-9c43-a5ec011d9d950xF523F31Acf07Ff41D2616f9c1b73E762Ba8E56600xF523F31Acf07Ff41D2616f9c1b73E762Ba8E56600.000993767389853752.22405e-131.0062823406207877.86854637e-102024-04-014.80412e-138.282680389e-98.2826803894e-80.0000062641748371040.0000062641748371044.4554123505e-81.242402058e-968bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d000001640.0000052363758783625.715049468e-91.03715374634638452.89893814e-100.0000062641748371040.0000062641748371047.4544123505e-82.48480412e-100.0000062641748371041.04548651816499662024-04-01org_aDs4aCACyWYgMQ4A1.0062823406207872024-04-0104.34597684399e-70.0000067872914842650.0000067872914842650.0000457471246737280.000993767389853758.18961611118e-70.0000052363758783620.0000052363758783621.60114936353e-7000.0000389598331894631.37241374012e-7Bad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001List wallet rewards summary with daily reports for a specific time period
Wallet ID or address
Start date (default: 1 month ago)
End date (default: current time)
Export to CSV
Currency unit
OK
ab3e5114-af15-45b8-9c43-a5ec011d9d950xF523F31Acf07Ff41D2616f9c1b73E762Ba8E56600xF523F31Acf07Ff41D2616f9c1b73E762Ba8E56600.000993767389853752.22405e-131.0062823406207877.86854637e-102024-04-014.80412e-138.282680389e-98.2826803894e-80.0000062641748371040.0000062641748371044.4554123505e-81.242402058e-968bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d000001640.0000052363758783625.715049468e-91.03715374634638452.89893814e-100.0000062641748371040.0000062641748371047.4544123505e-82.48480412e-100.0000062641748371041.04548651816499662024-04-01org_aDs4aCACyWYgMQ4A1.0062823406207872024-04-0104.34597684399e-70.0000067872914842650.0000067872914842650.0000457471246737280.000993767389853758.18961611118e-70.0000052363758783620.0000052363758783621.60114936353e-7000.0000389598331894631.37241374012e-7Bad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001List latest available high-level protocol
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
OK
3.951.0123452023-01-02T03:04:05Z0.18510.15f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef0.111.234122007944.381120520123.456789763232Bad Request
error messageIR001Internal error
error messageIR001List high-level protocol info for a given date
Date filter by year, month or day (eg. 2023, 2023-12, 2023-12-31). Note: times are UTC
Display LsETH values in units of wei or ether. If not present, LsETH is set by default.
Number of results per page (1-1000, default 100)
Cursor returned from previous page
OK
3.951.0123452023-01-02T03:04:05Z0.18510.15f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef0.111.234122007944.381120520123.456789763232Bad Request
error messageIR001Internal error
error messageIR001List rewards for a wallet with daily reports (public info) for a specific time period.
Wallet address
Start date (default: 1 month ago)
End date (default: current time)
Currency unit
Export to CSV
Page size (default: 100)
Next cursor (default: empty)
OK
0x30e2a735D692fC28CD31C28F1A8259b4790f9A230x30e2a735D692fC28CD31C28F1A8259b4790f9A230.005346333870.38274864225272150.11.0372532256655272024-04-110.0000067192190001210.4820886023517404568bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d000001641.03715374634638450.0000380755743340170.1090.0000069362734172580.491748642252721470.000039305549364451.04548651816499662024-04-011.0062823406207872024-04-300.1090.0000069362734172580.491748642252721470.00003930554936445Bad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001Provides status information of the wallet (ex. ALLOWLISTED, SUBMITTED, etc...)
Wallet address
OK
trueALLOWLISTED| PAUSED | DENIEDBad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001List wallet transactions for a given time period and wallet address
Wallet address
Start date (default: 1 year ago)
End date (default: current time)
Output as CSV
Page size (default: 100)
Next cursor
OK
109.50.962024-06-21true0x5E9E16C6DEB4022399E4FCD387BCB59AC5855762DepositBad request
error messageIR001Not found
error messageIR001Internal error
error messageIR001List the redeem requests for one or multiple owners (addresses)
The address or addresses to query, separated by commas
OK
The possible amount available to claim in LsETH
16.25The amount already claimed in ETH
16.5The amount already claimed in LsETH
16.25The height is the cumulative sum of all the sizes of preceding redeem requests
1024.75The ID of the redeem request
1048576The maximum amount of ETH redeemable by this request
33The owner of the redeem request
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Block time
Timestamp
2024-01-25 13:07:50.335845 +0000 UTCThe amount of the redeem request in LsETH
32.5The withdrawal event ID needed to claim the redeem (or -1 when no withdrawals available)
42Bad Request
error messageIR001Internal Error
error messageIR001Returns validator exit queue info, including time estimates.
OK
Internal error
error messageIR001Create a platform account with an ACTIVE status.
WARNING Integrators should make sure that the depositor has gone through an effective KYC/KYB process and is deemed within appetite to stake their ETH through the Liquid Collective.
When creating the depositor an integrator should supply a non-empty, unique identifying key (it can typically be an internal user identifier).
As long as a depositor remains in ACTIVE status, it is possible to attach wallets to it that will automatically be submitted to the protocol on-chain allowlist.
Unique identifier of the account (supplied by the client)
depositor_exampleAccount has been created
Bad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List platform accounts
OK
Time the account was created
2024-01-24T13:07:50.335845ZIdentifier of the account (generated server side)
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Unique key identifying the account (supplied by the client when creating the account)
depositor_exampleOrganization identifier the account belongs to
org_28CLGCvsdG7TlOHfStatus of the account (managed by the integrator)
ACTIVE | PAUSED | REMOVED | DENIEDThe account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHUnauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Get platform account
Account ID or Key of the platform account
OK
Time the account was created
2024-01-24T13:07:50.335845ZIdentifier of the account (generated server side)
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Unique key identifying the account (supplied by the client when creating the account)
depositor_exampleOrganization identifier the account belongs to
org_28CLGCvsdG7TlOHfStatus of the account (managed by the integrator)
ACTIVE | PAUSED | REMOVED | DENIEDThe account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHUnauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001Set account's status to REMOVED.
Integrators can call this method for their inactive users to be removed from the liquid staking protocol(s) allowlist.
Once account's status has been set to REMOVED:
Removing a wallet from the protocol allowlist results in disabling the ability to stake or redeem ETH.
Note that removing a wallet from the allowlist is an asynchronous process that can take some time.
Account ID or Key of the account to remove
OK
Time the account was created
2024-01-24T13:07:50.335845ZIdentifier of the account (generated server side)
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Unique key identifying the account (supplied by the client when creating the account)
depositor_exampleOrganization identifier the account belongs to
org_28CLGCvsdG7TlOHfStatus of the account (managed by the integrator)
REMOVEDThe account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001Set account's status to PAUSED.
Once an account's status has been set to PAUSED:
allowlisted wallet they will be unable to stake nor redeem.Account ID or Key of the account to remove
OK
Time the account was created
2024-01-24T13:07:50.335845ZIdentifier of the account (generated server side)
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Unique key identifying the account (supplied by the client when creating the account)
depositor_exampleOrganization identifier the account belongs to
org_28CLGCvsdG7TlOHfStatus of the account (managed by the integrator)
PAUSEDThe account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001Set a PAUSED account's status to ACTIVE.
This will enable the account to stake and redeem again (if the account has allowlisted wallets), and enable you to add more wallets to the account.
This is only possible for PAUSED accounts - DENIED or REMOVED accounts cannot be reactivated.
Account ID or Key of the account to reactivate
OK
Time the account was created
2024-01-24T13:07:50.335845ZIdentifier of the account (generated server side)
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Unique key identifying the account (supplied by the client when creating the account)
depositor_exampleOrganization identifier the account belongs to
org_28CLGCvsdG7TlOHfStatus of the account (managed by the integrator)
ACTIVEThe account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001Get platform wallet
Wallet ID or Address of the wallet (address in hex format prefixed with 0x)
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001List platform wallets
Enable to only return allowlisted wallets
Enable to only return wallets on_platform
Offset for pagination
Limit for pagination
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Create a wallet attached to an account
If the account is in ACTIVE status and if the wallet's has the allowlisted property set to true Alluvial will add the wallet address to the protocol on-chain allowlist.
Adding a wallet to the protocol allowlist results in enabling the wallet to proceed to deposit and redeem ETH on the protocol.
Note that submitting the wallet to the on-chain allowlist is an asynchronous process that can take some time. The onboarding allows to check the submission status by getting the wallet.
Important Notes:
allowlisted wallets if your organization is configured to do so.allowlist wallets, it method will do so by default.Account ID or Key of the account to add wallets to
Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Opt out of wallet being added to the OnPlatform list
trueThe type of wallet - chain or protocol it exists on
ETHOK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001List all wallets for a platform account
Account ID or Key of the account
Enable to only return allowlisted wallets
Enable to only return wallets on_platform
Offset for pagination
Limit for pagination
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Internal error
error messageIR001Remove wallet from a given wallet from either the on_platform, the allowlisted, or both.
Account ID or Key of the account to remove wallet from
Wallet ID or Address of the wallet to be removed
Enable to remove wallet from the allowlist
Enable to remove wallet on_platform
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Internal error
error messageIR001Set wallet's status to PAUSED.
Once a wallet's status has been set to PAUSED:
allowlisted, it will be unable to stake nor redeem.Depositor ID or Key of the depositor to pause wallet from
Wallet ID or Address of the wallet to be paused
Enable to pause wallet from the allowlist
Enable to pause wallet on_platform
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Conflict
error messageIR001Internal error
error messageIR001Set a PAUSED wallet's status to ACTIVE.
This will enable the wallet to stake and redeem again.
This action can only be performed under these conditions:
PAUSED status - DENIED or REMOVED wallets cannot be reactivated.ACTIVE status.Depositor ID or Key of the depositor to reactivate wallet from
Wallet ID or Address of the wallet to be reactivated
Enable to reactivate wallet from the allowlist
Enable to reactivate wallet on_platform
OK
The account ID of the wallet
ac0d0cdf-92bc-4cbe-a180-a2efb2387d16Wallet address in hexadecimal format with 0x prefix
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045Whether the wallet is allowlisted
trueTime the wallet was created
2024-01-25T13:07:50.335845ZOur UUID for this wallet
dd8eefc8-0cc4-4a27-adc0-e1ebebed598dWhether the wallet is on platform
trueOriginator of the wallet, value is an organization ID
org_ABCDEFThe type of wallet - chain or protocol it exists on
ETHBad request
error messageIR001Unauthorized
error messageIR001Forbidden
error messageIR001Not found
error messageIR001Conflict
error messageIR001Internal error
error messageIR001OK
{
"account_id": "36cc991e-d4r5-422c-8248-ac356e800fc1",
"created_at": "2023-12-31T23:59:59Z",
"removed_at": "2023-12-31T23:59:59Z",
"target_fee_rate": 0.05
}{
"account_id": "36cc991e-d4r5-422c-8248-ac356e800fc1",
"created_at": "2023-12-31T23:59:59Z",
"removed_at": "2023-12-31T23:59:59Z",
"target_fee_rate": 0.05
}POST /v0/platform/accounts/{idOrKey}/discount_rate HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"target_fee_rate": 0.05
}GET /v0/platform/accounts/{idOrKey}/discount_rate HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"account_id": "36cc991e-d4r5-422c-8248-ac356e800fc1",
"created_at": "2023-12-31T23:59:59Z",
"removed_at": "2023-12-31T23:59:59Z",
"target_fee_rate": 0.05
}PATCH /v0/platform/accounts/{idOrKey}/discount_rate HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"target_fee_rate": 0.05
}[
{
"address": "0x123456789985ca04a69c35978c3a3e778d6ef172",
"balance": "4200000000000000000000",
"block_number": 15034284
}
]GET /eth/v0/status HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"active_validator_count": 58,
"active_validators_eth_balance": "128000000000000000000",
"block_number": 15034284,
"collected_rewards": "3200000000000000000000",
"contract_eth_balance": "5000000000000000000",
"conversion_rate": 1,
"deposit_count": 2,
"exited_validators_eth_balance": "128000000000000000000",
"exiting_validators_eth_balance": "128000000000000000000",
"funded_validator_count": 102,
"funded_valitor_count": 102,
"pending_validator_count": 2,
"pending_validators_eth_balance": "64000000000000000000",
"rebalance_deposit_to_redeem_mode": true,
"skimmed_validators_eth_balance": "128000000000000000000",
"slashing_containment_mode": false,
"stopped_validator_count": 42,
"total_eth_balance": "3200000000000000000000",
"total_eth_deposited": "3200000000000000000000",
"total_supply": "3200000000000000000000",
"total_validator_count": 100
}GET /eth/v0/status/{block_number} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"active_validator_count": 58,
"active_validators_eth_balance": "128000000000000000000",
"block_number": 15034284,
"collected_rewards": "3200000000000000000000",
"contract_eth_balance": "5000000000000000000",
"conversion_rate": 1,
"deposit_count": 2,
"exited_validators_eth_balance": "128000000000000000000",
"exiting_validators_eth_balance": "128000000000000000000",
"funded_validator_count": 102,
"funded_valitor_count": 102,
"pending_validator_count": 2,
"pending_validators_eth_balance": "64000000000000000000",
"rebalance_deposit_to_redeem_mode": true,
"skimmed_validators_eth_balance": "128000000000000000000",
"slashing_containment_mode": false,
"stopped_validator_count": 42,
"total_eth_balance": "3200000000000000000000",
"total_eth_deposited": "3200000000000000000000",
"total_supply": "3200000000000000000000",
"total_validator_count": 100
}GET /eth/v0/balances HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"address": "0x123456789985ca04a69c35978c3a3e778d6ef172",
"balance": "4200000000000000000000",
"block_number": 15034284
}
]GET /eth/v0/balances/{address} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"address": "0x123456789985ca04a69c35978c3a3e778d6ef172",
"balance": "4200000000000000000000",
"block_number": 15034284
}GET /eth/v0/balances/{address}/history HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/contracts HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"allowlister": [
1
],
"deployment_block": 1,
"el_fee_recipient": [
1
],
"operators_registry": [
1
],
"oracle": [
1
],
"redeem_manager": [
1
],
"river": [
1
],
"withdraw": [
1
]
}GET /eth/v0/redeems?owner=text HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"claimable_amount_lseth": 16.25,
"claimed_amount_eth": 16.5,
"claimed_amount_lseth": 16.25,
"height": 1024.75,
"id": 1048576,
"max_redeemable_amount_eth": 33,
"owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"requested_at": 1,
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "NOT_CLAIMED",
"timestamp": "2024-01-25 13:07:50.335845 +0000 UTC",
"total_amount_lseth": 32.5,
"withdrawal_event_id": 42
}
]GET /eth/v0/redeems/{idx} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"claimable_amount_lseth": 16.25,
"claimed_amount_eth": 16.5,
"claimed_amount_lseth": 16.25,
"height": 1024.75,
"id": 1048576,
"max_redeemable_amount_eth": 33,
"owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"requested_at": 1,
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "NOT_CLAIMED",
"timestamp": "2024-01-25 13:07:50.335845 +0000 UTC",
"total_amount_lseth": 32.5,
"withdrawal_event_id": 42
}GET /eth/v0/redeems/{idx}/projection HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"projected_redeemable_at": "text"
}GET /eth/v0/redeems_info HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"total_amount_redeem_queue_lseth": 1,
"total_amount_withdrawal_stack_lseth": 1
}GET /eth/v0/redeems_info/projection HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"projected_fulfilled_at": "text"
}GET /eth/v0/validators/queue HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"exit_time_hours": 1,
"mandatory_exit_delay_hours": 1,
"sweep_time_hours": 1
}{
"data": {
"address": "0x30e2a735D692fC28CD31C28F1A8259b4790f9A23",
"daily_reports": [
{
"address": "0x30e2a735D692fC28CD31C28F1A8259b4790f9A23",
"avg_srr_hist": 0.00534633387,
"balance_lseth": 0.3827486422527215,
"burns_lseth": 0.1,
"conversion_rate": 1.037253225665527,
"date": "2024-04-11",
"fees_eth": 0.000006719219000121,
"mints_lseth": 0.48208860235174045,
"oracle_report": "68bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164",
"previous_conversion_rate": 1.0371537463463845,
"rewards_eth": 0.000038075574334017,
"total_burns_lseth": 0.109,
"total_fees_eth": 0.000006936273417258,
"total_mints_lseth": 0.49174864225272147,
"total_rewards_eth": 0.00003930554936445
}
],
"end_conversion_rate": 1.0454865181649966,
"from": "2024-04-01",
"start_conversion_rate": 1.006282340620787,
"to": "2024-04-30",
"total_burns_lseth": 0.109,
"total_fees_eth": 0.000006936273417258,
"total_mints_lseth": 0.49174864225272147,
"total_rewards_eth": 0.00003930554936445
},
"metadata": {
"next_cursor": null
}
}GET /eth/v0/protocol HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"a_srr_7d": 3.95,
"conversion_rate": 1.012345,
"date": "2023-01-02T03:04:05Z",
"gross_fee_lseth": 0.1851,
"gross_fee_rate": 0.15,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"protocol_service_fee_rate": 0.11,
"rewards_eth": 1.234,
"total_eth_staked": 122007944.381,
"total_lseth_supply": 120520123.456789,
"total_protocol_active_keys_count": 76,
"total_protocol_burns_lseth": 32,
"total_protocol_mints_lseth": 32
}GET /eth/v0/protocol/{date} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"a_srr_7d": 3.95,
"conversion_rate": 1.012345,
"date": "2023-01-02T03:04:05Z",
"gross_fee_lseth": 0.1851,
"gross_fee_rate": 0.15,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"protocol_service_fee_rate": 0.11,
"rewards_eth": 1.234,
"total_eth_staked": 122007944.381,
"total_lseth_supply": 120520123.456789,
"total_protocol_active_keys_count": 76,
"total_protocol_burns_lseth": 32,
"total_protocol_mints_lseth": 32
}
],
"metadata": {
"next_cursor": {
"block_time": "text",
"event_id": [
1
]
}
}
}GET /eth/v0/wallet/{address}/rewards HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/wallet/{address}/status HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"allowlisted": true,
"status": "ALLOWLISTED| PAUSED | DENIED"
}GET /eth/v0/wallet/{address}/transactions HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"amount_eth": 10,
"amount_lseth": 9.5,
"conversion_rate": 0.96,
"date": "2024-06-21",
"finalized": true,
"transaction_hash": "0x5E9E16C6DEB4022399E4FCD387BCB59AC5855762",
"transaction_type": "Deposit"
}
],
"metadata": {
"next_cursor": {
"amount": 1,
"blockNumber": 1,
"date": "text",
"eventID": [
1
],
"finalized": true,
"newTotalEthSupply": 1,
"newTotalSupply": 1,
"transactionHash": [
1
],
"transactionType": "Deposit"
}
}
}GET /eth/v0/redeems?owner=text HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"claimable_amount_lseth": 16.25,
"claimed_amount_eth": 16.5,
"claimed_amount_lseth": 16.25,
"height": 1024.75,
"id": 1048576,
"max_redeemable_amount_eth": 33,
"owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"requested_at": 1,
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "NOT_CLAIMED",
"timestamp": "2024-01-25 13:07:50.335845 +0000 UTC",
"total_amount_lseth": 32.5,
"withdrawal_event_id": 42
}
]GET /eth/v0/validators/queue HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"exit_time_hours": 1,
"mandatory_exit_delay_hours": 1,
"sweep_time_hours": 1
}{
"data": {
"account_id": "ab3e5114-af15-45b8-9c43-a5ec011d9d95",
"end_conversion_rate": 1.0454865181649966,
"from": "2024-04-01",
"org_id": "org_aDs4aCACyWYgMQ4A",
"start_conversion_rate": 1.006282340620787,
"to": "2024-04-30",
"wallets": [
{
"account_id": "ab3e5114-af15-45b8-9c43-a5ec011d9d95",
"address": "0xF523F31Acf07Ff41D2616f9c1b73E762Ba8E5660",
"daily_reports": [
{
"address": "0xF523F31Acf07Ff41D2616f9c1b73E762Ba8E5660",
"balance_lseth": 0.00099376738985375,
"burns_lseth": 2.22405e-13,
"conversion_rate": 1.006282340620787,
"dao_fees_eth": 7.86854637e-10,
"date": "2024-04-01",
"fees_at_discount_rate_eth": 4.80412e-13,
"fees_eth": 8.282680389e-9,
"gross_fees_eth": 8.2826803894e-8,
"gross_protocol_fee_rate": 0.000006264174837104,
"gross_rewards_eth": 0.000006264174837104,
"mints_lseth": 4.4554123505e-8,
"operator_fees_eth": 1.242402058e-9,
"oracle_report": "68bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164",
"platform_fees_at_discount_rate_eth": 0.000005236375878362,
"platform_fees_eth": 5.715049468e-9,
"previous_conversion_rate": 1.0371537463463845,
"provider_fees_eth": 2.89893814e-10,
"rebate_eth": 0.000006264174837104,
"rebate_lseth": 0.000006264174837104,
"rewards_eth": 7.4544123505e-8,
"slashing_fees_eth": 2.48480412e-10,
"target_fee_rate": 0.000006264174837104
}
],
"end_conversion_rate": 1.0454865181649966,
"from": "2024-04-01",
"org_id": "org_aDs4aCACyWYgMQ4A",
"start_conversion_rate": 1.006282340620787,
"to": "2024-04-01",
"total_burns_lseth": 0,
"total_dao_fees_eth": 4.34597684399e-7,
"total_fees_eth": 0.000006787291484265,
"total_gross_fees_eth": 0.000006787291484265,
"total_gross_rewards_eth": 0.000045747124673728,
"total_mints_lseth": 0.00099376738985375,
"total_operator_fees_eth": 8.18961611118e-7,
"total_platform_fees_at_discount_rate_eth": 0.000005236375878362,
"total_platform_fees_eth": 0.000005236375878362,
"total_provider_fees_eth": 1.60114936353e-7,
"total_rebate_eth": 0,
"total_rebate_lseth": 0,
"total_rewards_eth": 0.000038959833189463,
"total_slashing_fees_eth": 1.37241374012e-7
}
]
},
"metadata": {
"next_cursor": null
}
}GET /eth/v0/protocol HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"a_srr_7d": 3.95,
"conversion_rate": 1.012345,
"date": "2023-01-02T03:04:05Z",
"gross_fee_lseth": 0.1851,
"gross_fee_rate": 0.15,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"protocol_service_fee_rate": 0.11,
"rewards_eth": 1.234,
"total_eth_staked": 122007944.381,
"total_lseth_supply": 120520123.456789,
"total_protocol_active_keys_count": 76,
"total_protocol_burns_lseth": 32,
"total_protocol_mints_lseth": 32
}GET /eth/v0/protocol/{date} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/wallet/{address}/transactions HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/platforms/{date} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/operators/{date} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
POST /eth/v0/rewards HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 74
[
{
"balance": "0.382748642252721461",
"from": "2024-01-01",
"to": "2024-01-31"
}
]{
"accrued_rewards": 0.00003930554936445,
"lots": [
{
"accrued_rewards": 0.000038075574334017,
"balance": 0.3827486422527215,
"end_conversion_rate": 1.037253225665527,
"from": "2024-01-01",
"start_conversion_rate": 1.0371537463463845,
"to": "2024-01-31"
}
]
}POST /eth/v0/rewards/accounts HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 88
{
"accounts": [
"bb3e6114-af15-43a6-9b36-a5ec011d9d95"
],
"date": "2024-04-11",
"unit": "lseth"
}[
{
"account_id": "bb3e6114-af15-43a6-9b36-a5ec011d9d95",
"date": "2024-04-11",
"totals": {
"balance_lseth": 0.3827486422527215,
"rewards_eth": 0.00003930554936445
},
"wallets": [
{
"account_id": "ab3e5114-af15-45b8-9c43-a5ec011d9d95",
"address": "0x30e2a735D692fC28CD31C28F1A8259b4790f9A23",
"avg_srr_hist": 0.00534633387,
"balance_lseth": 0.3827486422527215,
"burns_lseth": 0.1,
"conversion_rate": 1.037253225665527,
"dao_fees_eth": 4.25550536674e-7,
"date": "2024-04-11",
"fees_eth": 0.000006719219000121,
"gross_fees_eth": 0.000006264174837104,
"gross_protocol_fee_rate": 0.000006264174837104,
"gross_rewards_eth": 0.000006264174837104,
"mints_lseth": 0.48208860235174045,
"operator_fees_eth": 0.000006264174837104,
"oracle_report": "68bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164",
"org_id": "org_aDL0aCAXyWYgHQ4W",
"platform_fees_at_discount_rate_eth": 0.000006264174837104,
"platform_fees_eth": 0.00000519619602676,
"previous_conversion_rate": 1.0371537463463845,
"provider_fees_eth": 1.56781776669e-7,
"rebate_eth": 0.000006264174837104,
"rebate_lseth": 0.000006264174837104,
"rewards_eth": 0.000038075574334017,
"slashing_fees_eth": 1.34384380002e-7,
"target_fee_rate": 0.08,
"total_burns_lseth": 0.109,
"total_dao_fees_eth": 4.39297316428e-7,
"total_fees_eth": 0.000006936273417258,
"total_gross_fees_eth": 0.000006264174837104,
"total_gross_rewards_eth": 0.000006264174837104,
"total_mints_lseth": 0.49174864225272147,
"total_operator_fees_eth": 0.000006264174837104,
"total_platform_fees_at_discount_rate_eth": 0.000006264174837104,
"total_platform_fees_eth": 0.000005364051442679,
"total_provider_fees_eth": 1.61846379739e-7,
"total_rebate_eth": 0.000006264174837104,
"total_rebate_lseth": 0.000006264174837104,
"total_rewards_eth": 0.00003930554936445,
"total_slashing_fees_eth": 1.38725468346e-7
}
]
}
]POST /eth/v0/rewards/wallets HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 93
{
"addresses": [
"0x5d811a9d059dDAB0C18B385ad3b752f734f011cB"
],
"date": "2024-04-11",
"unit": "eth"
}[
{
"account_id": "ab3e5114-af15-45b8-9c43-a5ec011d9d95",
"address": "0x30e2a735D692fC28CD31C28F1A8259b4790f9A23",
"avg_srr_hist": 0.00534633387,
"balance_lseth": 0.3827486422527215,
"burns_lseth": 0.1,
"conversion_rate": 1.037253225665527,
"dao_fees_eth": 4.25550536674e-7,
"date": "2024-04-11",
"fees_eth": 0.000006719219000121,
"gross_fees_eth": 0.000006264174837104,
"gross_protocol_fee_rate": 0.000006264174837104,
"gross_rewards_eth": 0.000006264174837104,
"mints_lseth": 0.48208860235174045,
"operator_fees_eth": 0.000006264174837104,
"oracle_report": "68bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164",
"org_id": "org_aDL0aCAXyWYgHQ4W",
"platform_fees_at_discount_rate_eth": 0.000006264174837104,
"platform_fees_eth": 0.00000519619602676,
"previous_conversion_rate": 1.0371537463463845,
"provider_fees_eth": 1.56781776669e-7,
"rebate_eth": 0.000006264174837104,
"rebate_lseth": 0.000006264174837104,
"rewards_eth": 0.000038075574334017,
"slashing_fees_eth": 1.34384380002e-7,
"target_fee_rate": 0.08,
"total_burns_lseth": 0.109,
"total_dao_fees_eth": 4.39297316428e-7,
"total_fees_eth": 0.000006936273417258,
"total_gross_fees_eth": 0.000006264174837104,
"total_gross_rewards_eth": 0.000006264174837104,
"total_mints_lseth": 0.49174864225272147,
"total_operator_fees_eth": 0.000006264174837104,
"total_platform_fees_at_discount_rate_eth": 0.000006264174837104,
"total_platform_fees_eth": 0.000005364051442679,
"total_provider_fees_eth": 1.61846379739e-7,
"total_rebate_eth": 0.000006264174837104,
"total_rebate_lseth": 0.000006264174837104,
"total_rewards_eth": 0.00003930554936445,
"total_slashing_fees_eth": 1.38725468346e-7
}
]GET /eth/v0/rewards/accounts/{idOrKey}/summary HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /eth/v0/rewards/wallets/{idOrAddress}/summary HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"a_srr_7d": 3.95,
"conversion_rate": 1.012345,
"date": "2023-01-02T03:04:05Z",
"gross_fee_lseth": 0.1851,
"gross_fee_rate": 0.15,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"protocol_service_fee_rate": 0.11,
"rewards_eth": 1.234,
"total_eth_staked": 122007944.381,
"total_lseth_supply": 120520123.456789,
"total_protocol_active_keys_count": 76,
"total_protocol_burns_lseth": 32,
"total_protocol_mints_lseth": 32
}
],
"metadata": {
"next_cursor": {
"block_time": "text",
"event_id": [
1
]
}
}
}{
"data": [
{
"amount_eth": 10,
"amount_lseth": 9.5,
"conversion_rate": 0.96,
"date": "2024-06-21",
"finalized": true,
"transaction_hash": "0x5E9E16C6DEB4022399E4FCD387BCB59AC5855762",
"transaction_type": "Deposit"
}
],
"metadata": {
"next_cursor": {
"amount": 1,
"blockNumber": 1,
"date": "text",
"eventID": [
1
],
"finalized": true,
"newTotalEthSupply": 1,
"newTotalSupply": 1,
"transactionHash": [
1
],
"transactionType": "Deposit"
}
}
}{
"data": [
{
"conversion_rate": 1.012345,
"dao_fees_lseth": 0.00001234567,
"dao_fees_rate": 0.0015,
"date": "2023-01-02T03:04:05Z",
"gross_fee_lseth": 0.0001234,
"operator_fees_lseth": 0.000123456789,
"operator_fees_rate": 0.0035,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"org_id": "org_example1234",
"platform": {
"fees_lseth": 0.0001234567,
"fees_rate": 0.097,
"off_platform_rebate": {
"adjusted_total_net_outflows_fees_lseth": 0.0001234567,
"adjusted_total_net_outflows_lseth": 0.0001234567,
"adjusted_total_net_outflows_transfers_lseth": 0.0001234567,
"fees_paid_lseth": 0.0001234567,
"off_platform_attributable_fees_lseth": 0.0001234567,
"off_platform_balance_lseth": 0.0001234567,
"off_platform_fees_lseth": 0.0001234567,
"off_platform_gross_fee_lseth": 0.0001234567,
"outflow_ratio": 0.0001234567,
"total_burns_lseth": 32.1234,
"total_mints_lseth": 32.1234,
"total_net_outflows_lseth": 0.0001234567,
"total_on_platform_lseth": 0.0001234567,
"total_outflows_lseth": 0.0001234567,
"total_platform_transfers_in_lseth": 0.0001234567,
"total_platform_transfers_out_lseth": 0.0001234567
},
"on_platform_rebate": {
"on_platform_attributable_fees_lseth": 0.0001234567,
"on_platform_fees_lseth": 0.0001234567,
"on_platform_lseth": 120520123.456789,
"on_platform_ratio": 0.0001234567
},
"total_balance_lseth": 0.0001234567
},
"slashing_coverage_fees_lseth": 0.0000012345678,
"slashing_coverage_fees_rate": 0.003,
"tech_provider_fees_lseth": 0.0000123456789,
"tech_provider_fees_rate": 0.0035,
"total_eth_supply": 120520123.456789,
"total_lseth_supply": 120520123.456789,
"version": 3
}
],
"metadata": {
"next_cursor": {
"block_time": "text",
"event_id": [
1
]
}
}
}{
"data": [
{
"conversion_rate": 1.012345,
"date": "2023-01-02T03:04:05Z",
"operator_active_keys_count": 5,
"operator_active_keys_ratio": 0.5,
"operator_fees_lseth": 0.00006,
"oracle_report": "f071c15d86fd9ae82f62bb4bb04963f14e04045bbcac8b5439984733207821bc000000ef",
"org_id": "org_example1234",
"total_active_keys_count": 10,
"total_operator_fees_lseth": 0.00012,
"version": 3
}
],
"metadata": {
"next_cursor": {
"block_time": "text",
"event_id": [
1
]
}
}
}{
"data": {
"account_id": "ab3e5114-af15-45b8-9c43-a5ec011d9d95",
"address": "0xF523F31Acf07Ff41D2616f9c1b73E762Ba8E5660",
"daily_reports": [
{
"address": "0xF523F31Acf07Ff41D2616f9c1b73E762Ba8E5660",
"balance_lseth": 0.00099376738985375,
"burns_lseth": 2.22405e-13,
"conversion_rate": 1.006282340620787,
"dao_fees_eth": 7.86854637e-10,
"date": "2024-04-01",
"fees_at_discount_rate_eth": 4.80412e-13,
"fees_eth": 8.282680389e-9,
"gross_fees_eth": 8.2826803894e-8,
"gross_protocol_fee_rate": 0.000006264174837104,
"gross_rewards_eth": 0.000006264174837104,
"mints_lseth": 4.4554123505e-8,
"operator_fees_eth": 1.242402058e-9,
"oracle_report": "68bbc70ba87b9467831cc3ff56fc114f3659ba9e646042007d1d54f6b95f267d00000164",
"platform_fees_at_discount_rate_eth": 0.000005236375878362,
"platform_fees_eth": 5.715049468e-9,
"previous_conversion_rate": 1.0371537463463845,
"provider_fees_eth": 2.89893814e-10,
"rebate_eth": 0.000006264174837104,
"rebate_lseth": 0.000006264174837104,
"rewards_eth": 7.4544123505e-8,
"slashing_fees_eth": 2.48480412e-10,
"target_fee_rate": 0.000006264174837104
}
],
"end_conversion_rate": 1.0454865181649966,
"from": "2024-04-01",
"org_id": "org_aDs4aCACyWYgMQ4A",
"start_conversion_rate": 1.006282340620787,
"to": "2024-04-01",
"total_burns_lseth": 0,
"total_dao_fees_eth": 4.34597684399e-7,
"total_fees_eth": 0.000006787291484265,
"total_gross_fees_eth": 0.000006787291484265,
"total_gross_rewards_eth": 0.000045747124673728,
"total_mints_lseth": 0.00099376738985375,
"total_operator_fees_eth": 8.18961611118e-7,
"total_platform_fees_at_discount_rate_eth": 0.000005236375878362,
"total_platform_fees_eth": 0.000005236375878362,
"total_provider_fees_eth": 1.60114936353e-7,
"total_rebate_eth": 0,
"total_rebate_lseth": 0,
"total_rewards_eth": 0.000038959833189463,
"total_slashing_fees_eth": 1.37241374012e-7
},
"metadata": {
"next_cursor": null
}
}{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "ACTIVE"
}{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "REMOVED",
"wallets": [
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]
}{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "ACTIVE",
"wallets": [
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]
}{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}POST /v0/platform/accounts HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"key": "depositor_example"
}GET /v0/platform/accounts HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "ACTIVE | PAUSED | REMOVED | DENIED",
"wallets": [
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]
}
]GET /v0/platform/accounts/{idOrKey} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "ACTIVE | PAUSED | REMOVED | DENIED",
"wallets": [
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]
}PATCH /v0/platform/accounts/{idOrKey}/remove HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PATCH /v0/platform/accounts/{idOrKey}/pause HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PATCH /v0/platform/accounts/{idOrKey}/reactivate HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
GET /v0/platform/wallets/{idOrAddress} HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}GET /v0/platform/wallets HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]POST /v0/platform/accounts/{idOrKey}/wallets HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 88
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"type": "ETH"
}GET /v0/platform/accounts/{idOrKey}/wallets HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PATCH /v0/platform/accounts/{idOrKey}/wallets/{idOrAddress}/remove HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PATCH /v0/platform/accounts/{idOrKey}/wallets/{idOrAddress}/pause HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
PATCH /v0/platform/accounts/{idOrKey}/wallets/{idOrAddress}/reactivate HTTP/1.1
Host: api.alluvial.finance
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"created_at": "2024-01-24T13:07:50.335845Z",
"id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"key": "depositor_example",
"org_id": "org_28CLGCvsdG7TlOHf",
"status": "PAUSED",
"wallets": [
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]
}[
{
"account_id": "ac0d0cdf-92bc-4cbe-a180-a2efb2387d16",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"allowlisted": true,
"created_at": "2024-01-25T13:07:50.335845Z",
"id": "dd8eefc8-0cc4-4a27-adc0-e1ebebed598d",
"on_platform": true,
"originator_org_id": "org_ABCDEF",
"status": "ALLOWLISTED",
"type": "ETH"
}
]-3const { ethers } = require('ethers');
const Contract = require('./Contract.json');
(async () => {
const nodeUrl = 'https://ethereum-hoodi-rpc.publicnode.com';
const provider = new ethers.providers.JsonRpcProvider(nodeUrl);
const signer = new ethers.Wallet('<INSERT WALLET SECRET>', provider);
const LsETHContract = new ethers.Contract(
Contract.address,
Contract.abi,
signer
);
const walletAddress = '<INSERT WALLET ADDRESS>';
const value = ethers.utils.parseEther('0.000001');
//Get estimate for gas limit
const redeem_estimation = await LsETHContract.estimateGas.requestRedeem(
value,
walletAddress,
{ gasLimit: 1 }
);
// Create Redeem Request
let tx = await LsETHContract.requestRedeem(value, walletAddress, {
gasLimit: redeem_estimation,
});
let receipt = await tx.wait();
console.log(tx);
})();const ethers = require('ethers');
const Contract = require('./RedeemManager.json');
async function main() {
const provider = new ethers.providers.WebSocketProvider(
'wss://ethereum-hoodi-rpc.publicnode.com',
17000
);
const redeemManagerContract = new ethers.Contract(
Contract.address,
Contract.abi,
provider
);
redeemManagerContract.on(
'RequestedRedeem',
(owner, height, amount, maxRedeemableEth, id) => {
console.log('RequestedRedeem event');
console.log(`Owner of redeem ${owner}`);
console.log(`Height ${height.toString()}`);
console.log(`Amount of LsETH to redeem ${amount.toString()}`);
console.log(
`Maximum amount of ETH to redeem ${maxRedeemableEth.toString()}`
);
console.log(`Request Redeem ID ${id}`);
}
);
}
main();node websocket.jsRequestedRedeem event
Owner of redeem <WALLET ADDRESS>
Height 4980971589444881813
Amount of LsETH to redeem 10000000
Maximum amount of ETH to redeem 10212074
Request Redeem ID 18curl -X 'GET' \
'https://api.staging.alluvial.finance/eth/v0/redeems?owner=<WALLET ADDRESS>' \
-H 'accept: application/json' \
-H 'Authorization: Bearer e...jk'[
{
"id": 18,
"withdrawal_event_id": -1,
"total_amount_lseth": "10000000",
"claimed_amount_lseth": "0",
"claimable_amount_lseth": "0",
"max_redeemable_amount_eth": "10209790",
"owner": "<WALLET ADDRESS>",
"height": "4980971589354881813",
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "PENDING_SATISFACTION",
"requested_at": 9017542
}
]curl 'https://api.staging.alluvial.finance/eth/v0/redeems/18/projection' \
-H 'Authorization: Bearer e...jk'{
"projected_redeemable_at": "2023-05-19T19:16:24Z"
}redeemManagerContract.on(
'ReportedWithdrawal',
(height, amount, ethAmount, id) => {
console.log('ReportedWithdrawal event');
console.log(`Height ${height.toString()}`);
console.log(`Amount of LsETH to redeem ${amount.toString()}`);
console.log(`ETH amount being withdrawn ${ethAmount.toString()}`);
console.log(`Withdrawal event ID ${id}`);
}
);ReportedWithdrawal event
Height 4980971589444881813
Amount of LsETH to redeem 10000000
ETH amount being withdrawn 10212074
Withdrawal event ID 10const { ethers } = require('ethers');
const Contract = require('./Contract.json');
(async () => {
const LsETHContract = new ethers.Contract(
Contract.address,
Contract.abi,
provider
);
let arrRequestId = [18];
let resolveRedeem = await LsETHContract.resolveRedeemRequests(arrRequestId);
console.log(resolveRedeem.toString());
})();10curl 'https://api.staging.alluvial.finance/eth/v0/redeems/18' \
-H 'Authorization: Bearer e...jk'[
{
"id": 18,
"withdrawal_event_id": 10,
"total_amount_lseth": "10000000",
"claimed_amount_lseth": "0",
"claimable_amount_lseth": "10000000",
"max_redeemable_amount_eth": "10209790",
"owner": "<WALLET ADDRESS>",
"height": "4980971589354881813",
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "FULLY_SATISFIED",
"requested_at": 9017542
}
]const arrRequestId = [18];
const arrWithdrawalId = [10];
//Get estimate for gas limit
const claim_estimation = await LsETHContract.estimateGas.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: 1 }
);
const claimRedeemRequests = await LsETHContract.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: claim_estimation }
);
const receipt = await claimRedeemRequests.wait();
console.log(claimRedeemRequests);redeemManagerContract.on(
'ClaimedRedeemRequest',
(
redeemRequestId,
recipient,
ethAmount,
lsEthAmount,
remainingLsEthAmount
) => {
console.log('ClaimedRedeemRequest event');
console.log(`Redeem Request ID ${redeemRequestId}`);
console.log(`Recipient of redeem request ${recipient}`);
console.log(`Amount of ETH ${ethAmount.toString()}`);
console.log(`Amount of LsETH ${lsEthAmount.toString()}`);
console.log(`Amount of remaining LsETH ${remainingLsEthAmount.toString()}`);
}
);ClaimedRedeemRequest event
Redeem Request ID 18
Recipient of redeem request <WALLET ADDRESS>
Amount of ETH 10209790
Amount of LsETH 10000000
Amount of remaining LsETH 0redeemManagerContract.on(
'SatisfiedRedeemRequest',
(
redeemRequestId,
withdrawalEventId,
lsEthAmountSatisfied,
ethAmountSatisfied,
lsEthAmountRemaining,
ethAmountExceeding
) => {
console.log('SatisfiedRedeemRequest event');
console.log(`Redeem Request ID ${redeemRequestId}`);
console.log(`Withdrawal ID ${withdrawalEventId}`);
console.log(`Amount of LsETH satisfied ${lsEthAmountSatisfied.toString()}`);
console.log(`Amount of ETH satisfied ${ethAmountSatisfied.toString()}`);
console.log(
`Amount of LsETH left to satisfy ${lsEthAmountRemaining.toString()}`
);
console.log(
`Amount of ETH added to buffer ${ethAmountExceeding.toString()}`
);
}
);SatisfiedRedeemRequest event
Redeem Request ID 18
Withdrawal ID 10
Amount of LsETH satisfied 10000000
Amount of ETH satisfied 10209790
Amount of LsETH left to satisfy 0
Amount of ETH added to buffer 163curl -X 'GET' \
'https://api.staging.alluvial.finance/eth/v0/redeems?owner=<WALLET ADDRESS>' \
-H 'accept: application/json' \
-H 'Authorization: Bearer e...jk'{
"id": 18,
"withdrawal_event_id": -3,
"total_amount_lseth": "10000000",
"claimed_amount_lseth": "10000000",
"claimable_amount_lseth": "0",
"max_redeemable_amount_eth": "10209790",
"owner": "<WALLET ADDRESS>",
"height": "4980971589354881813",
"status_claim": "FULLY_CLAIMED",
"status_satisfaction": "FULLY_SATISFIED",
"requested_at": 9017542
}curl -X 'GET' \
'https://api.staging.alluvial.finance/eth/v0/redeems_info' \
-H 'accept: application/json' \
-H 'Authorization: Bearer e...jk'{
"total_amount_withdrawal_stack_lseth": "204462016832064499274",
"total_amount_redeem_queue_lseth": "237456822758541259805"
}curl -X 'GET' \
'https://api.staging.alluvial.finance/eth/v0/redeems_info/projection'\
-H 'accept: application/json' \
-H 'Authorization: Bearer e...jk'{
"projected_fulfilled_at": "2023-06-15T11:02:24Z"
}const { ethers } = require('ethers');
const Contract = require('../Contract.json');
const walletAddress = '0xbe79ff177a8F6a0D9656cF47D8687f43666a4d1e';
(async () => {
const nodeUrl = 'https://ethereum-hoodi-rpc.publicnode.com';
const provider = new ethers.providers.JsonRpcProvider(nodeUrl);
const gasPrice = await provider.getGasPrice();
const signer = new ethers.Wallet('<INSERT WALLET PRIVATE KEY>', provider);
const riverContract = new ethers.Contract(
Contract.address,
Contract.abi,
signer
);
const value = ethers.utils.parseEther('0.000000000001');
//Get estimate for gas limit
const redeem_estimation = await riverContract.estimateGas.requestRedeem(
value,
walletAddress,
{ gasLimit: 1 }
);
// Create Redeem Request
let tx = await riverContract.requestRedeem(value, walletAddress, {
gasLimit: redeem_estimation,
});
// ***** Start resolve redeem function block *****
// Uncomment when running claimRedeemRequests()
//let arrRequestId = [18];
//let resolveRedeem = await LsETHContract.resolveRedeemRequests(arrRequestId);
// console.log(resolveRedeem.toString())
// ***** Stop resolve redeem function block *****
// ***** Start claiming function block *****
// Get estimate for gas limit
// const claim_estimation = await LsETHContract.estimateGas.claimRedeemRequests(arrRequestId, arrWithdrawalId, { gasLimit: 1});
//let arrRequestId = [18];
//const arrWithdrawalId = [10]
//const claimRedeemRequests = await LsETHContract.claimRedeemRequests(arrRequestId, arrWithdrawalId, { gasLimit: claim_estimation});
//const receipt = await claimRedeemRequests.wait();
//console.log(claimRedeemRequests);
// ***** end claiming function block *****
})();{
"id": 1,
"withdrawal_event_id": -1,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "0",
"claimable_amount_lseth": "0",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "PENDING_SATISFACTION",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": 1,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "0",
"claimable_amount_lseth": "900000",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "PARTIALLY_SATISFIED",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": 1,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "0",
"claimable_amount_lseth": "1000000",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "NOT_CLAIMED",
"status_satisfaction": "FULLY_SATISFIED",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": -1,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "900000",
"claimable_amount_lseth": "0",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "PARTIALLY_CLAIMED",
"status_satisfaction": "PENDING_SATISFACTION",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": 2,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "900000",
"claimable_amount_lseth": "60000",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "PARTIALLY_CLAIMED",
"status_satisfaction": "PARTIALLY_SATISFIED",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": 2,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "900000",
"claimable_amount_lseth": "100000",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "PARTIALLY_CLAIMED",
"status_satisfaction": "FULLY_SATISFIED",
"requested_at": 9134158
}{
"id": 1,
"withdrawal_event_id": -3,
"total_amount_lseth": "1000000",
"claimed_amount_lseth": "1000000",
"claimable_amount_lseth": "0",
"max_redeemable_amount_eth": "1023507",
"owner": "<WALLET ADDRESS>",
"height": "201956822758540259700",
"status_claim": "FULLY_CLAIMED",
"status_satisfaction": "FULLY_SATISFIED",
"requested_at": 9134158
}const fs = require('fs');
const path = require('path');
const { FireblocksSDK } = require('fireblocks-sdk');
const { inspect } = require('util');const createVault = async () => {
const name = 'LsETH blog';
const vaultAccount = await fireblocks.createVaultAccount(name);
console.log(inspect(vaultAccount, false, null, true));
};
createVault();{
"id": "6",
"name": "LsETH blog",
"hiddenOnUI": false,
"assets": [],
"autoFuel": false
}const CONTRACT_ADDRESS = process.env.CONTRACT_ADDRESS;
const getAssets = async() => {
const supportedAssets = await fireblocks.getSupportedAssets();
supportedAssets.forEach((asset, index, array) => {
if (asset.contractAddress == CONTRACT_ADDRESS) {
console.log(JSON.stringify(asset))
)
}
})
}
getAssets();{
"id": "LSETH_ETH_TEST3_4E2A",
"name": "Liquid Staked ETH",
"type": "ERC20",
"contractAddress": "0x3ecCAdA3e11c1Cc3e9B5a53176A67cc3ABDD3E46",
"nativeAsset": "ETH_TEST3",
"decimals": 18
}const addAssetToVault = async () => {
const vaultWallet = await fireblocks.createVaultAsset(
6,
'LSETH_ETH_TEST3_4E2A'
);
console.log(inspect(vaultWallet, false, null, true));
};
addAssetToVault();{
"id": "6",
"address": "<FIREBLOCKS ADDRESS>",
"legacyAddress": "",
"tag": ""
}const {
FireblocksWeb3Provider,
ChainId,
} = require('@fireblocks/fireblocks-web3-provider');
const ethers = require('ethers');{
"abi": [ { INSERT ABI FILE HERE } ],
}const ABI = require('./Contract.json').abi;const eip1193Provider = new FireblocksWeb3Provider({
privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY_PATH,
apiKey: process.env.FIREBLOCKS_API_KEY,
vaultAccountIds: process.env.FIREBLOCKS_VAULT_ACCOUNT_IDS,
chainId: ChainId.GOERLI,
// apiBaseUrl: ApiBaseUrl.Sandbox // If using a sandbox workspace
});const createDeposit = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const gasPrice = await provider.getGasPrice();
const deposit_estimation = await LsETHContract.estimateGas.deposit({
from: FIREBLOCKS_ADDRESS,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasLimit: ethers.utils.hexlify(1),
nonce: provider.getTransactionCount(FIREBLOCKS_ADDRESS, 'latest'),
});
let tx = await LsETHContract.deposit({
from: FIREBLOCKS_ADDRESS,
value: ethers.utils.parseUnits('0.000000001', 'ether'),
gasPrice: gasPrice,
gasLimit: deposit_estimation,
nonce: provider.getTransactionCount(FIREBLOCKS_ADDRESS, 'latest'),
});
let receipt = await tx.wait();
console.log(receipt);
};
createDeposit();const getTx = async () => {
const transactions = await fireblocks.getTransactions({
txHash: '<INSERT TX HASH>',
});
console.log(JSON.stringify(transactions));
};
getTx();{
"id": "LSETH_ETH_TEST3_4E2A",
"total": "0.000000000974731883",
"balance": "0.000000000974731883",
"lockedAmount": "0",
"available": "0.000000000974731883",
"pending": "0",
"frozen": "0",
"staked": "0",
"blockHeight": "9212224",
"blockHash": "0xc1d94ab995a5db95ddaa10b85ef47b24a38b9ea7249ac7c64bb46a1288fa33bc"
}const createRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const value = ethers.utils.parseEther('0.000001');
const redeem_estimation = await LsETHContract.estimateGas.requestRedeem(
value,
FIREBLOCKS_ADDRESS,
{ gasLimit: 1 }
);
const tx = await LsETHContract.requestRedeem(value, FIREBLOCKS_ADDRESS, {
gasLimit: redeem_estimation,
});
let receipt = await tx.wait();
console.log(receipt);
};
createRedeemRequest();const resolveRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const value = ethers.utils.parseEther('0.000001');
const arrRequestId = [53];
const resolveRedeem = await LsETHContract.resolveRedeemRequests(arrRequestId);
console.log(resolveRedeem.toString());
};
resolveRedeemRequest();const createClaimRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const arrRequestId = [53];
const arrWithdrawalId = [111];
const claim_estimation = await LsETHContract.estimateGas.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: 1 }
);
const claimRedeemRequests = await LsETHContract.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: claim_estimation }
);
const receipt = await claimRedeemRequests.wait();
console.log(claimRedeemRequests);
};
createClaimRedeemRequest();//General dependencies
require('dotenv').config();
const fs = require('fs');
const path = require('path');
const { inspect } = require('util');
//Fireblocks SDKs
const { FireblocksSDK } = require('fireblocks-sdk');
const {
FireblocksWeb3Provider,
ChainId,
} = require('@fireblocks/fireblocks-web3-provider');
const ethers = require('ethers');
const baseUrl = 'https://api.fireblocks.io';
const apiSecret = fs.readFileSync(path.resolve('./fb.key'), 'utf8');
const apiKey = process.env.API_KEY;
const ABI = require('./Contract.json').abi;
const CONTRACT_ADDRESS = process.env.CONTRACT_ADDRESS;
const FIREBLOCKS_ADDRESS = process.env.FIREBLOCKS_ADDRESS;
const fireblocks = new FireblocksSDK(apiSecret, apiKey, baseUrl);
const eip1193Provider = new FireblocksWeb3Provider({
apiBaseUrl: baseUrl,
privateKey: apiSecret,
apiKey: apiKey,
vaultAccountIds: 3,
chainId: ChainId.GOERLI,
});
const createVault = async () => {
const name = 'LsETH blog';
const vaultAccount = await fireblocks.createVaultAccount(name);
console.log(inspect(vaultAccount, false, null, true));
};
//createVault()
const getAssets = async () => {
const supportedAssets = await fireblocks.getSupportedAssets();
supportedAssets.forEach((asset, index, array) => {
if (asset.contractAddress == CONTRACT_ADDRESS) {
console.log(JSON.stringify(asset));
}
});
};
//getAssets()
const addAssetToVault = async () => {
const vaultWallet = await fireblocks.createVaultAsset(
6,
'LSETH_ETH_TEST3_4E2A'
);
console.log(inspect(vaultWallet, false, null, true));
};
//addAssetToVault()
const createDeposit = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const gasPrice = await provider.getGasPrice();
const deposit_estimation = await LsETHContract.estimateGas.deposit({
from: FIREBLOCKS_ADDRESS,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasLimit: ethers.utils.hexlify(1),
nonce: provider.getTransactionCount(FIREBLOCKS_ADDRESS, 'latest'),
});
let tx = await LsETHContract.deposit({
from: FIREBLOCKS_ADDRESS,
value: ethers.utils.parseUnits('0.000000001', 'ether'),
gasPrice: gasPrice,
gasLimit: deposit_estimation,
nonce: provider.getTransactionCount(FIREBLOCKS_ADDRESS, 'latest'),
});
let receipt = await tx.wait();
console.log(receipt);
};
//createDeposit()
const getTx = async () => {
const transactions = await fireblocks.getTransactions({
txHash:
'0x124e9ef06e38ab0e3ff78d066f8f2eea54b18210390a229c251a0d578853ae20',
});
console.log(JSON.stringify(transactions));
};
//getTx()
const getBalance = async () => {
const vaultAsset = await fireblocks.getVaultAccountAsset(
3,
'LSETH_ETH_TEST3_4E2A'
);
console.log(JSON.stringify(vaultAsset));
};
//getBalance()
const createRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const value = ethers.utils.parseEther('0.000001');
const redeem_estimation = await LsETHContract.estimateGas.requestRedeem(
value,
FIREBLOCKS_ADDRESS,
{ gasLimit: 1 }
);
const tx = await LsETHContract.requestRedeem(value, FIREBLOCKS_ADDRESS, {
gasLimit: redeem_estimation,
});
let receipt = await tx.wait();
console.log(receipt);
};
//createRedeemRequest();
const resolveRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const value = ethers.utils.parseEther('0.000001');
const arrRequestId = [53];
const resolveRedeem = await LsETHContract.resolveRedeemRequests(arrRequestId);
console.log(resolveRedeem.toString());
};
//resolveRedeemRequest();
const createClaimRedeemRequest = async () => {
const provider = new ethers.providers.Web3Provider(eip1193Provider);
const LsETHContract = new ethers.Contract(
CONTRACT_ADDRESS,
ABI,
provider.getSigner()
);
const arrRequestId = [53];
const arrWithdrawalId = [111];
const claim_estimation = await LsETHContract.estimateGas.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: 1 }
);
const claimRedeemRequests = await LsETHContract.claimRedeemRequests(
arrRequestId,
arrWithdrawalId,
{ gasLimit: claim_estimation }
);
const receipt = await claimRedeemRequests.wait();
console.log(claimRedeemRequests);
};
//createClaimRedeemRequest();
const { ethers } = require('ethers');const Contract = require('./Contract.json');(async () => {
const nodeUrl = 'https://ethereum-hoodi-rpc.publicnode.com';
const provider = new ethers.providers.JsonRpcProvider(nodeUrl);
const gasPrice = await provider.getGasPrice();
const signer = new ethers.Wallet('<INSERT WALLET KEY>', provider);
const LsETHContract = new ethers.Contract(
Contract.address,
Contract.abi,
signer
);
const walletAddress = '<INSERT WALLET ADDRESS>';
})();// Get estimate for gas limit
const deposit_estimation = await LsETHContract.estimateGas.deposit({
from: walletAddress,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasLimit: ethers.utils.hexlify(1),
nonce: provider.getTransactionCount(walletAddress, 'latest'),
});
// Deposit tx
let tx = await LsETHContract.deposit({
from: walletAddress,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasPrice: gasPrice,
gasLimit: deposit_estimation,
nonce: provider.getTransactionCount(walletAddress, 'latest'),
});
let receipt = await tx.wait();
console.log(receipt);const { ethers } = require('ethers');
const Contract = require('./Contract.json');
const walletAddress = '0xbe79ff177a8F6a0D9656cF47D8687f43666a4d1e'(async () => {
const nodeUrl = 'https://ethereum-hoodi-rpc.publicnode.com';
const provider = new ethers.providers.JsonRpcProvider(nodeUrl);
const gasPrice = await provider.getGasPrice();
const signer = new ethers.Wallet('<INSERT WALLET KEY>', provider);
const LsETHContract = new ethers.Contract(
Contract.address,
Contract.abi,
signer
);
const walletAddress = '<INSERT WALLET ADDRESS>';
const value = ethers.utils.parseEther('0.000000000001');
const deposit_estimation = await LsETHContract.estimateGas.deposit({
from: walletAddress,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasLimit: ethers.utils.hexlify(1),
nonce: provider.getTransactionCount(walletAddress, 'latest'),
});
let tx = await LsETHContract.deposit({
from: walletAddress,
value: ethers.utils.parseUnits('0.00000001', 'ether'),
gasPrice: gasPrice,
gasLimit: deposit_estimation,
nonce: provider.getTransactionCount(walletAddress, 'latest'),
});
let receipt = await tx.wait();
console.log(receipt);
})();{
"address": "0x1d8b30cC38Dba8aBce1ac29Ea27d9cFd05379A09",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "_allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "AllowanceTooLow",
"type": "error"
},
{
"inputs": [],
"name": "BalanceTooLow",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Denied",
"type": "error"
},
{
"inputs": [],
"name": "EmptyDeposit",
"type": "error"
},
{
"inputs": [],
"name": "ErrorOnDeposit",
"type": "error"
},
{
"inputs": [],
"name": "InconsistentPublicKeys",
"type": "error"
},
{
"inputs": [],
"name": "InconsistentSignatures",
"type": "error"
},
{
"inputs": [],
"name": "InvalidArgument",
"type": "error"
},
{
"inputs": [],
"name": "InvalidCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "currentValidatorsExitedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newValidatorsExitedBalance",
"type": "uint256"
}
],
"name": "InvalidDecreasingValidatorsExitedBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "currentValidatorsSkimmedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newValidatorsSkimmedBalance",
"type": "uint256"
}
],
"name": "InvalidDecreasingValidatorsSkimmedBalance",
"type": "error"
},
{
"inputs": [],
"name": "InvalidEmptyString",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "epoch",
"type": "uint256"
}
],
"name": "InvalidEpoch",
"type": "error"
},
{
"inputs": [],
"name": "InvalidFee",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expectedVersion",
"type": "uint256"
}
],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [],
"name": "InvalidPublicKeyCount",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requested",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "received",
"type": "uint256"
}
],
"name": "InvalidPulledClFundsAmount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSignatureCount",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "providedValidatorCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depositedValidatorCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastReportedValidatorCount",
"type": "uint256"
}
],
"name": "InvalidValidatorCountReport",
"type": "error"
},
{
"inputs": [],
"name": "InvalidWithdrawalCredentials",
"type": "error"
},
{
"inputs": [],
"name": "InvalidZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "NoAvailableValidatorKeys",
"type": "error"
},
{
"inputs": [],
"name": "NotEnoughFunds",
"type": "error"
},
{
"inputs": [],
"name": "NullTransfer",
"type": "error"
},
{
"inputs": [],
"name": "SliceOutOfBounds",
"type": "error"
},
{
"inputs": [],
"name": "SliceOverflow",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "prevTotalEthIncludingExited",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "postTotalEthIncludingExited",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timeElapsed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "relativeLowerBound",
"type": "uint256"
}
],
"name": "TotalValidatorBalanceDecreaseOutOfBound",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "prevTotalEthIncludingExited",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "postTotalEthIncludingExited",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timeElapsed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "annualAprUpperBound",
"type": "uint256"
}
],
"name": "TotalValidatorBalanceIncreaseOutOfBound",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
}
],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
}
],
"name": "UnauthorizedTransfer",
"type": "error"
},
{
"inputs": [],
"name": "ZeroMintedShares",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "validatorCount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "validatorTotalBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "roundId",
"type": "bytes32"
}
],
"name": "ConsensusLayerDataUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "cdata",
"type": "bytes"
}
],
"name": "Initialize",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "epoch",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsSkimmedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitingBalance",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "validatorsCount",
"type": "uint32"
},
{
"internalType": "uint32[]",
"name": "stoppedValidatorCountPerOperator",
"type": "uint32[]"
},
{
"internalType": "bool",
"name": "rebalanceDepositToRedeemMode",
"type": "bool"
},
{
"internalType": "bool",
"name": "slashingContainmentMode",
"type": "bool"
}
],
"indexed": false,
"internalType": "struct IOracleManagerV1.ConsensusLayerReport",
"name": "report",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "rewards",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pulledELFees",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pulledRedeemManagerExceedingEthBuffer",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pulledCoverageFunds",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct IOracleManagerV1.ConsensusLayerDataReportingTrace",
"name": "trace",
"type": "tuple"
}
],
"name": "ProcessedConsensusLayerReport",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "pulledSkimmedEthAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "pullExitedEthAmount",
"type": "uint256"
}
],
"name": "PulledCLFunds",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PulledCoverageFunds",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PulledELFees",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PulledRedeemManagerExceedingEth",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "redeemManagerDemand",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "suppliedRedeemManagerDemand",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "suppliedRedeemManagerDemandInEth",
"type": "uint256"
}
],
"name": "ReportedRedeemManager",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_collector",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_oldTotalUnderlyingBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_oldTotalSupply",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_newTotalUnderlyingBalance",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_newTotalSupply",
"type": "uint256"
}
],
"name": "RewardsEarned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"name": "SetAdmin",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "allowlist",
"type": "address"
}
],
"name": "SetAllowlist",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newAmount",
"type": "uint256"
}
],
"name": "SetBalanceCommittedToDeposit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newAmount",
"type": "uint256"
}
],
"name": "SetBalanceToDeposit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newAmount",
"type": "uint256"
}
],
"name": "SetBalanceToRedeem",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "annualAprUpperBound",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "relativeLowerBound",
"type": "uint256"
}
],
"name": "SetBounds",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "collector",
"type": "address"
}
],
"name": "SetCollector",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "coverageFund",
"type": "address"
}
],
"name": "SetCoverageFund",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "depositContract",
"type": "address"
}
],
"name": "SetDepositContractAddress",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "oldDepositedValidatorCount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newDepositedValidatorCount",
"type": "uint256"
}
],
"name": "SetDepositedValidatorCount",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "elFeeRecipient",
"type": "address"
}
],
"name": "SetELFeeRecipient",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "SetGlobalFee",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "minNetAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "maxRelativeAmount",
"type": "uint256"
}
],
"name": "SetMaxDailyCommittableAmounts",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "metadataURI",
"type": "string"
}
],
"name": "SetMetadataURI",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operatorRegistry",
"type": "address"
}
],
"name": "SetOperatorsRegistry",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oracleAddress",
"type": "address"
}
],
"name": "SetOracle",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "pendingAdmin",
"type": "address"
}
],
"name": "SetPendingAdmin",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "redeemManager",
"type": "address"
}
],
"name": "SetRedeemManager",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "epochsPerFrame",
"type": "uint64"
},
{
"indexed": false,
"internalType": "uint64",
"name": "slotsPerEpoch",
"type": "uint64"
},
{
"indexed": false,
"internalType": "uint64",
"name": "secondsPerSlot",
"type": "uint64"
},
{
"indexed": false,
"internalType": "uint64",
"name": "genesisTime",
"type": "uint64"
},
{
"indexed": false,
"internalType": "uint64",
"name": "epochsToAssumedFinality",
"type": "uint64"
}
],
"name": "SetSpec",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
}
],
"name": "SetTotalSupply",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "withdrawalCredentials",
"type": "bytes32"
}
],
"name": "SetWithdrawalCredentials",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "depositor",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "UserDeposit",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "DEPOSIT_SIZE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PUBLIC_KEY_LENGTH",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SIGNATURE_LENGTH",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "_DEPOSIT_SIZE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "acceptAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOfUnderlying",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32[]",
"name": "_redeemRequestIds",
"type": "uint32[]"
},
{
"internalType": "uint32[]",
"name": "_withdrawalEventIds",
"type": "uint32[]"
}
],
"name": "claimRedeemRequests",
"outputs": [
{
"internalType": "uint8[]",
"name": "claimStatuses",
"type": "uint8[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_subtractableValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_recipient",
"type": "address"
}
],
"name": "depositAndTransfer",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_maxCount",
"type": "uint256"
}
],
"name": "depositToConsensusLayer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getAdmin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAllowlist",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalanceToDeposit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalanceToRedeem",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCLSpec",
"outputs": [
{
"components": [
{
"internalType": "uint64",
"name": "epochsPerFrame",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "slotsPerEpoch",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "secondsPerSlot",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "genesisTime",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "epochsToAssumedFinality",
"type": "uint64"
}
],
"internalType": "struct CLSpec.CLSpecStruct",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCLValidatorCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCLValidatorTotalBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCollector",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCommittedBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCoverageFund",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentEpochId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentFrame",
"outputs": [
{
"internalType": "uint256",
"name": "_startEpochId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_endTime",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDailyCommittableLimits",
"outputs": [
{
"components": [
{
"internalType": "uint128",
"name": "minDailyNetCommittableAmount",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "maxDailyRelativeCommittableAmount",
"type": "uint128"
}
],
"internalType": "struct DailyCommittableLimits.DailyCommittableLimitsStruct",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDepositedValidatorCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getELFeeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getExpectedEpochId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_epochId",
"type": "uint256"
}
],
"name": "getFrameFirstEpochId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGlobalFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastCompletedEpochId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastConsensusLayerReport",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "epoch",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsSkimmedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitingBalance",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "validatorsCount",
"type": "uint32"
},
{
"internalType": "bool",
"name": "rebalanceDepositToRedeemMode",
"type": "bool"
},
{
"internalType": "bool",
"name": "slashingContainmentMode",
"type": "bool"
}
],
"internalType": "struct IOracleManagerV1.StoredConsensusLayerReport",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getMetadataURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOperatorsRegistry",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOracle",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPendingAdmin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRedeemManager",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getReportBounds",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "annualAprUpperBound",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "relativeLowerBound",
"type": "uint256"
}
],
"internalType": "struct ReportBounds.ReportBoundsStruct",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getWithdrawalCredentials",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_additionalValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_depositContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_elFeeRecipientAddress",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_withdrawalCredentials",
"type": "bytes32"
},
{
"internalType": "address",
"name": "_oracleAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_systemAdministratorAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_allowlistAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_operatorRegistryAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_collectorAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_globalFee",
"type": "uint256"
}
],
"name": "initRiverV1",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_redeemManager",
"type": "address"
},
{
"internalType": "uint64",
"name": "_epochsPerFrame",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "_slotsPerEpoch",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "_secondsPerSlot",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "_genesisTime",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "_epochsToAssumedFinality",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "_annualAprUpperBound",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_relativeLowerBound",
"type": "uint256"
},
{
"internalType": "uint128",
"name": "_minDailyNetCommittableAmount_",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "_maxDailyRelativeCommittableAmount_",
"type": "uint128"
}
],
"name": "initRiverV1_1",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "initRiverV1_2",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_epoch",
"type": "uint256"
}
],
"name": "isValidEpoch",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newAdmin",
"type": "address"
}
],
"name": "proposeAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_lsETHAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_recipient",
"type": "address"
}
],
"name": "requestRedeem",
"outputs": [
{
"internalType": "uint32",
"name": "_redeemRequestId",
"type": "uint32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32[]",
"name": "_redeemRequestIds",
"type": "uint32[]"
}
],
"name": "resolveRedeemRequests",
"outputs": [
{
"internalType": "int64[]",
"name": "withdrawalEventIds",
"type": "int64[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sendCLFunds",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "sendCoverageFunds",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "sendELFees",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "sendRedeemManagerExceedingFunds",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newAllowlist",
"type": "address"
}
],
"name": "setAllowlist",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint64",
"name": "epochsPerFrame",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "slotsPerEpoch",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "secondsPerSlot",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "genesisTime",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "epochsToAssumedFinality",
"type": "uint64"
}
],
"internalType": "struct CLSpec.CLSpecStruct",
"name": "_newValue",
"type": "tuple"
}
],
"name": "setCLSpec",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newCollector",
"type": "address"
}
],
"name": "setCollector",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "epoch",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsSkimmedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitedBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "validatorsExitingBalance",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "validatorsCount",
"type": "uint32"
},
{
"internalType": "uint32[]",
"name": "stoppedValidatorCountPerOperator",
"type": "uint32[]"
},
{
"internalType": "bool",
"name": "rebalanceDepositToRedeemMode",
"type": "bool"
},
{
"internalType": "bool",
"name": "slashingContainmentMode",
"type": "bool"
}
],
"internalType": "struct IOracleManagerV1.ConsensusLayerReport",
"name": "_report",
"type": "tuple"
}
],
"name": "setConsensusLayerData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newCoverageFund",
"type": "address"
}
],
"name": "setCoverageFund",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint128",
"name": "minDailyNetCommittableAmount",
"type": "uint128"
},
{
"internalType": "uint128",
"name": "maxDailyRelativeCommittableAmount",
"type": "uint128"
}
],
"internalType": "struct DailyCommittableLimits.DailyCommittableLimitsStruct",
"name": "_dcl",
"type": "tuple"
}
],
"name": "setDailyCommittableLimits",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newELFeeRecipient",
"type": "address"
}
],
"name": "setELFeeRecipient",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_newFee",
"type": "uint256"
}
],
"name": "setGlobalFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_metadataURI",
"type": "string"
}
],
"name": "setMetadataURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_oracleAddress",
"type": "address"
}
],
"name": "setOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "annualAprUpperBound",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "relativeLowerBound",
"type": "uint256"
}
],
"internalType": "struct ReportBounds.ReportBoundsStruct",
"name": "_newValue",
"type": "tuple"
}
],
"name": "setReportBounds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_underlyingAssetAmount",
"type": "uint256"
}
],
"name": "sharesFromUnderlyingBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalUnderlyingSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_shares",
"type": "uint256"
}
],
"name": "underlyingBalanceFromShares",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
}