--- tags: hedgey, paladins --- # How Ξ2T Screwed a Hedgehog A little overview of the process we are using to pay the core team working on DAOhaus v3. We have a multisig that gets funded by the DAO. Each month we have to go in and send out the wxDAI and HAUS in Hedgy NFTs for payroll. Spencer and Travis used the Transaction Builder app in Gnosis to make it easier to send out the NFTs. ![](https://i.imgur.com/LxucoaT.png) ![](https://i.imgur.com/3aU9wo1.png) ![](https://i.imgur.com/E65vx4d.png) This is what the file looks like: ```json { "version": "1.0", "chainId": "100", "createdAt": 1667412647803, "meta": { "name": "Lock Hedgey NFT", "description": "", "txBuilderVersion": "1.10.0", "createdFromSafeAddress": "0x23f6FA624581855D527df1Aa751B8a60c5e8059d", "createdFromOwnerAddress": "", "checksum": "0xb079bc6511f92018ddfe1746708320d1a96ffa8cb6e04798b839d9828721a905" }, "transactions": [ { "to": "0xb0C5f3100A4d9d9532a4CfD68c55F1AE8da987Eb", "value": "0", "data": null, "contractMethod": { "inputs": [ { "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "approve", "payable": false }, "contractInputsValues": { "_spender": "0x4Bc8Ea84bdC3EBB01D495e5D1605d4F082aEb5d7", "_value": "10000000000000000000000" } }, { "to": "0x4Bc8Ea84bdC3EBB01D495e5D1605d4F082aEb5d7", "value": "0", "data": null, "contractMethod": { "inputs": [ { "internalType": "address", "name": "nftContract", "type": "address" }, { "internalType": "address[]", "name": "holders", "type": "address[]" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "unlockDates", "type": "uint256[]" } ], "name": "batchMint", "payable": false }, "contractInputsValues": { "nftContract": "0x2AA5d15Eb36E5960d056e8FeA6E7BB3e2a06A351", "holders": "[0xb0D2b32aEf17D71e13E358898FE2D7458a84998B, 0x625BBa96cC5c0d6B506597609B64F1D3672D82Dc, 0xBC5b552641e5d203f0a6C230aA9dC14DA7450053, 0xBE407f27B6c14C9Df597dFc88dD141Ae2715e86e, 0x0B5f5a722Ac5E8EcEDf4da39A656fe5f1e76b34C, 0x224aBa5D489675a7bD3CE07786FAda466b46FA0F, 0xeDb78683295524DF5f4F3b7d62fBa6B13E79e804, 0xB4135c81B194CAE8Dd2c4426527E880F95840Acc, 0xd1D8e452A864388280B714537cBEAD6Ff9E28530, 0xA8cadC2268B01395f8573682fb9DD00Bd582E8A0]", "token": "0xb0C5f3100A4d9d9532a4CfD68c55F1AE8da987Eb", "amounts": "[41280000000000000000, 42630000000000000000, 179480000000000000000, 358960000000000000000, 137600000000000000000, 598260000000000000000, 807650000000000000000, 74780000000000000000, 68800000000000000000, 516000000000000000000]", "unlockDates": "[1696118400, 1696118400, 1696118400, 1696118400, 1696118400, 1696118400, 1696118400, 1696118400, 1696118400, 1696118400]" } } ] } ``` Before sending that I will edit the `batchMint` transaction: ![](https://i.imgur.com/vNh9fSW.png) I keep the payout calculations in a spreadsheet: ![](https://i.imgur.com/N8BwxWL.png) And then will copy those values over into VS Code to format the arrays: ![](https://i.imgur.com/uLLJCm7.png) To get the `unlockDates` I use dEth Tools [Unix Epoch - UTC Conversion](https://tools.deth.net/unix-epoch-utc-conversion) ![](https://i.imgur.com/ZVSNl3j.png) When you enter the date to Convert UTC to Unix Epoch it defaults to Unix epoch (in miliseconds). That is what I used for the one I screwed up. You have to remove 3 zeros to get the Assumed unix timestamp format (in seconds). ![seconds](https://i.imgur.com/9UBc6K7.png)