Skip to main content

JuiceboxDAO Operations Post Mortem

author - filipv

These errors have been mitigated.



Resolved. Felixander returned all 3.7109970336715117 ETH to JuiceboxDAO v1 in transaction 0x456a41c7902c949c4f2fe5f34e0b3798f8dfd2e447acc74a8707bf116a43c892.

What Happened?

felixander.eth was paid an extra 3.7109970336715117 ETH across two transactions:

What Went Wrong?

The first extra payment was caused by a bug with Juicebox v1. As Jango describes it:

aha. yeah i recognize this. it's a V1 bug recreated by:

  • being in FC#X with funds still not distributed.
  • reconfiguring FC#X+1.
  • distributing funds from FC#X.

That distribute call creates a new FC that overwrites the reconfiguration. bug stumbled upon in Slice earlier on too. lets be mindful to distribute from V1 before calling reconfigure to it this next time around. seems like it'll be among our last V1 reconfigures anyways.

This rolled over into a second extra payment due to the multisig failure decribed below.

Solving This

Felixander will have to transfer 3.7109970336715117 ETH back to JuiceboxDAO v1 (v1p1) via the addToBalance transaction. I shared a video tutorial detailing the steps to do this here.

Juicebox Rewards


Resolved. Juicebox referral returned 1.8119844678505186 ETH to @juicebox in transaction 0xe3fbb179b9220950f82e49b404d1a770e9728f6ad88cba72968c2bf474c53b38.

What Happened?

JBP-330 approved a one-time payout of $3,000 to Juicebox referral (v2p410), which was sent in transaction 0x95ec31ba8a78a18ecf0934d9c02513f8373bd02296acfecec233c99dc9fa02df.

Juicebox referral then received an extra $3,000 payout of 1.8119844678505186 ETH in transaction 0x3e3f920800b1b805fd2cbc932678a58e2e3765105e462659630e80def698d082 (see event #113).

What Went Wrong?

What was originally supposed to be a one-time payment rolled over into a second payment due to the multisig failure decribed below.

Solving This

I queued a transaction from the multisig which owns this project (0x7A05B46bFd5f26F3E40a28E4fE49DE338b63235E) to pay out 1.8119844678505186 ETH to v2p1 with preferAddToBalance enabled. After this takes effect, the payouts will have to be distributed from the project, and a new cycle will be queued to remove the payout.




What Happened?

WAGMI Studios received 3 $8,500 payouts approved by JBP-314:

  1. v1p1 -> v1p5 @ 0x9469aa6d691ba9db62cdc87f763827f6b44b323992042a25dee7ac5248c7da8f
  2. v2p1 -> v2p387 @ 0x07b07428942da6dc869d8b031ac235969f0bc4ad6bc7e317e9806ae13e0d931c
  3. v2p1 -> v2p387 @ 0x3696159562c1ec9bccaf11272ee8ed664c2b9c91d10c8de98d14259ec2ab8ccc

But then, due to a bookkeeping error, WAGMI studios received 2 unapproved $8,500 payouts:

  1. 4.965342738066261773 ETH — v2p1 -> v2p387 @ 0x95ec31ba8a78a18ecf0934d9c02513f8373bd02296acfecec233c99dc9fa02df (log 185)
  2. 5.133955976086274861 ETH — v2p1 -> v2p387 @ 0x3e3f920800b1b805fd2cbc932678a58e2e3765105e462659630e80def698d082 (log 122)

Summing to 10.099298714152536634 ETH. Some of this ETH was left in the @wagmi-studios project, and some of the ETH was paid out to sagekellyn.eth and mieos.eth in the following transactions:

  1. 4.175902021980110846 ETH — v2p387 @ 0x6e2c3afaaad12d49dc224494be698e5abe152631486796a7c8bed537f4a1792b:
    1. 3.492043502119130738 ETH -> sagekellyn.eth
    2. 0.582007251032196916 ETH -> mieos.eth
    3. 0.101851268828783192 ETH -> Fees
  2. 4.542612757707288829 ETH — v2p387 @ 0xfd00bf7cd209f9c7323ba868ac950a8869ca275f90727e21cac7d317b98160f3:
    1. 3.798700563303292015 ETH -> sagekellyn.eth
    2. 0.633116761289184890 ETH -> mieos.eth
    3. 0.110795433114811923 ETH -> Fees

Solving This

  1. WAGMI Studios created the Cosmic Bake Sale project to raise funds by selling NFTs. This project returned 6.56 ETH to @juicebox in transactions 0xe9469195949d381975a95678e93761ae5647c1141f79efd8a1d0989806e7a527 and 0x181a8c9f2f0e3ae971f30dd1537ace21e1f13c0b39fb9f591c662ae8629792ae.
  2. WAGMI Studios sent 2.18181 ETH to the JuiceboxDAO multisig in transaction 0x1a5096d87ea08577b20612c6c42cd278171d993331d3c54b093ec4ebb6441d23. This specific payout incurred 0.05454525 ETH of fees.
  3. WAGMI Studios burned the 7,946 JBX1 received through relevant fees paid throughout this process in transaction 0xa173b7d31cbb29930285b6d769a08891ab63bd3e4796449467e6edd27ecc63b5.

To finalize this, the multisig will have to transfer the 2.18181 ETH received in step 2 to @juicebox and @wagmi-studios will have to transfer 1.090296762208941519 ETH to @juicebox.2

Multisig Failure

The multisig must queue, verify, sign, and execute any edits to JuiceboxDAO's projects at least 3 days before the next cycle starts for those edits to take effect.

On 2023-02-21, The multisig had several transactions queued and got them signed towards the end of this period, with ~4 hours left until the edit deadline. At the time, gas prices were high. @twodam shared several messages to this effect:

all signed, can be executed when gas price are low @jango

now it costs ~$500 to execute both reconfigure txns

Nobody executed the transactions before the edit deadline.

Process Improvements

Following these events, several process improvements were implemented to prevent the recurrence of issues like these:

  1. I wrote the Multisig Process which was then ratified through the DAO's governance process. Along with updating several multisig rules, it lays out guidelines and best practices to ensure that the queuing process happens smoothly.
  2. Nance's monitoring tools are improving. Thus far, an easier to read payouts table is being regularly posted in the #🧾|bookkeeping channel on Discord, and Jigglyjams is working on public view/edit functionality.
  3. Den may be improving. On a call with Den, 0xBA5ED and I described these issues and discussed potential improvements for monitoring deadlines.

Gas Reimbursements

Gas Reimbursements

Several transactions (such as payout distributions from JuiceboxDAO's projects) were reimbursed in JuiceboxDAO multisig transaction 225 and have not been included below.

ExecutorTransaction HashGas FeeDescription
felixander.eth0x456a41c7902c949c4f2fe5f34e0b3798f8dfd2e447acc74a8707bf116a43c8920.000500794842115568 ETHReturn funds to JuiceboxDAO v1
filipv.eth0xe3fbb179b9220950f82e49b404d1a770e9728f6ad88cba72968c2bf474c53b380.003619957600832175 ETHDistribute funds from Juicebox referral to @juicebox
0xstvg.eth0xb05a0d2a5f50f1b29566a6598a9e92c1f6d9026289b60cd050d48bc058e9267f0.00388170362528872 ETHReconfigure Juicebox referral to add payout to @juicebox
experiments.daodevinc.eth0x9c460cc6b510a493f27576ea525154199f7ef1f38c08e5802bf3acadcd7403ad0.0036082057485936 ETHReconfigure Juicebox referral to remove the payout to @juicebox
sagekellyn.eth0xa173b7d31cbb29930285b6d769a08891ab63bd3e4796449467e6edd27ecc63b50.00932121015158826 ETHBurning surplus JBX from various fees.
sagekellyn.eth0x423b9c1988b6288a533c567f65103d48ce8bab11b74704b0bd41f12701c260cb0.025262995409554902 ETHCreate Cosmic Bake Sale.
jango.eth0x181a8c9f2f0e3ae971f30dd1537ace21e1f13c0b39fb9f591c662ae8629792ae0.003786087562560637 ETHDistribute payouts from Cosmic Bake Sale.
mieos.eth0xe9469195949d381975a95678e93761ae5647c1141f79efd8a1d0989806e7a5270.009882833010766423 ETHDistribute payouts from Cosmic Bake Sale.
sagekellyn.eth0x8e6aa87f9efbf231e70f848d241a1b9ecabceb499224cc822a4561bab0a34c220.009649575021010464 ETHEdit Cosmic Bake Sale.
0x84575A7EB7D471aC5bc1cE5E11a31Be7E86402260x6e2c3afaaad12d49dc224494be698e5abe152631486796a7c8bed537f4a1792b0.009452726007661986 ETHDistribute unapproved payouts to WAGMI Studios (1).
0x84575A7EB7D471aC5bc1cE5E11a31Be7E86402260xfd00bf7cd209f9c7323ba868ac950a8869ca275f90727e21cac7d317b98160f30.010286132553559404 ETHDistribute unapproved payouts to WAGMI Studios (2).

  1. WAGMI received 3044.220586770765499028 JBX from fees in transaction 0x6e2c3afaaad12d49dc224494be698e5abe152631486796a7c8bed537f4a1792b and 3294.993902141864563708 JBX in transaction 0xfd00bf7cd209f9c7323ba868ac950a8869ca275f90727e21cac7d317b98160f3. In transaction 0x1a5096d87ea08577b20612c6c42cd278171d993331d3c54b093ec4ebb6441d23, they received 3927.835897799190186303 total JBX, but the payout to the JuiceboxDAO multisig only constituted 0.05454525 ETH of the total 0.133405709777521336 ETH paid in fees, meaning WAGMI should only have to burn ~40.886743221833818112% of the JBX from this transaction: 1605.96417770816588883501 JBX. This puts the total at 7945.178666620795951571 JBX.
  2. 1.090296762208941519 ETH is equal to WAGMI's total deficit (4.965342738066261773 + 5.133955976086274861) less fees paid across these transactions (-0.101851268828783192 - 0.110795433114811923 - 0.05454525), the amount paid back via the Cosmic Bake Sale (-6.56), and the amount directly returned to the multisig (-2.18181).