feat: implement coinbase mass payments across base/sol/eth/pol/arb #569
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relates to:
Issue: Ensure dynamic parsing, validation, and execution for mass payouts using Coinbase SDK.
Risks
Risk Level: Medium
Background
What does this PR do?
This PR implements dynamic mass payout capabilities using the Coinbase SDK. Key updates include:
transferTemplate
details to dynamically construct transactions for processing.receivingAddresses
,network
) to ensure they comply with supported formats and networks.src/plugins/transactions.csv
.characters/charactername.character.json
undersettings.secrets
.character-seed.txt
file, and a note is added to move these details manually to the character's settings or environment variables.What kind of change is this?
Improvements: Adds dynamic appending and parsing of CSV data.
Features: Introduces mass payouts using Coinbase SDK for supported networks.
Documentation changes needed?
Yes. The changes require an update to project documentation to reflect:
transferTemplate
structure for mass payouts.base
,sol
,eth
,arb
,pol
).COINBASE_API_KEY
andCOINBASE_PRIVATE_KEY
.character-seed.txt
tosettings.secrets
or.env
).Testing
Where should a reviewer start?
massPayoutProvider.get
function for dynamic parsing and handling of CSV records.executeMassPayout
logic for sequential processing of transactions.Detailed testing steps
Setup Environment Variables:
COINBASE_API_KEY
andCOINBASE_PRIVATE_KEY
are set in the.env
file or runtime settings.Process Mass Payout Transactions:
SEND_MASS_PAYOUT
action.Wallet Generation:
COINBASE_GENERATED_WALLET_HEX_SEED
andCOINBASE_GENERATED_WALLET_ID
from your configuration.characters/charactername.character.json
undersettings.secrets
.charactername-seed.txt
with instructions to move them manually.Validate Edge Cases:
Screenshots
https://drive.google.com/file/d/160rreXAoKBj9db8lIMjF5LW8EmAihQmi/view?usp=sharing
After
Screen Recording:
Deploy Notes
src/plugins/transactions.csv
is accessible.Database changes
Deployment instructions
[Discord](https://discord.gg/ai16z) username
0x8664