Improve solana-tokens UX (#12253)
* Fix computed banks port * Readme incorrect * Return error if csv cannot be read * Move column headers over columns * Add dry-run check for sender/fee-payer balances * Use clap requires method for paired args * Write transaction-log anytime outfile is specified * Replace campaign-name with required db-path * Remove bids * Exclude new_stake_account_address from logs for non-stake distributions * Fix readme
This commit is contained in:
@ -7,38 +7,38 @@ expected amount are sent. The command-line tool here automates that process.
|
||||
|
||||
## Distribute tokens
|
||||
|
||||
Send tokens to the recipients in `<BIDS_CSV>`.
|
||||
Send tokens to the recipients in `<RECIPIENTS_CSV>`.
|
||||
|
||||
Example bids.csv:
|
||||
Example recipients.csv:
|
||||
|
||||
```text
|
||||
primary_address,bid_amount_dollars
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,6.6
|
||||
recipient,amount,lockup_date
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM,42.0,
|
||||
CYRJWqiSjLitBAcRxPvWpgX3s5TvmN2SuRY3eEYypFvT,43.0,
|
||||
```
|
||||
|
||||
```bash
|
||||
solana-tokens distribute-tokens --from <KEYPAIR> --dollars-per-sol <NUMBER> --from-bids --input-csv <BIDS_CSV> --fee-payer <KEYPAIR>
|
||||
solana-tokens distribute-tokens --from <KEYPAIR> --input-csv <RECIPIENTS_CSV> --fee-payer <KEYPAIR>
|
||||
```
|
||||
|
||||
Example transaction log before:
|
||||
|
||||
```text
|
||||
recipient,amount,signature
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,30,1111111111111111111111111111111111111111111111111111111111111111
|
||||
recipient,amount,finalized_date,signature
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,70.0,2020-09-15T23:29:26.879747Z,UB168XhBhecxzeD1w2ZRUhwTHpPSqv2WNh8NrZHqz1F2EqxxbSW6iFfVtsg3HkU9NX2cD7R92D8VRLSyArZ9xKQ
|
||||
```
|
||||
|
||||
Send tokens to the recipients in `<BIDS_CSV>` if the distribution is
|
||||
not already recordered in the transaction log.
|
||||
Send tokens to the recipients in `<RECIPIENTS_CSV>` if the distribution is
|
||||
not already recorded in the transaction log.
|
||||
|
||||
```bash
|
||||
solana-tokens distribute-tokens --from <KEYPAIR> --dollars-per-sol <NUMBER> --from-bids --input-csv <BIDS_CSV> --fee-payer <KEYPAIR>
|
||||
solana-tokens distribute-tokens --from <KEYPAIR> --input-csv <RECIPIENTS_CSV> --fee-payer <KEYPAIR>
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```text
|
||||
Recipient Amount
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv 70
|
||||
Recipient Expected Balance (◎)
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM 42
|
||||
UKUcTXgbeTYh65RaVV5gSf6xBHevqHvAXMo3e8Q6np8k 43
|
||||
```
|
||||
@ -52,10 +52,9 @@ solana-tokens transaction-log --output-path transactions.csv
|
||||
|
||||
```text
|
||||
recipient,amount,signature
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,30,1111111111111111111111111111111111111111111111111111111111111111
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,70,1111111111111111111111111111111111111111111111111111111111111111
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM,42,1111111111111111111111111111111111111111111111111111111111111111
|
||||
UKUcTXgbeTYh65RaVV5gSf6xBHevqHvAXMo3e8Q6np8k,43,1111111111111111111111111111111111111111111111111111111111111111
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,70.0,2020-09-15T23:29:26.879747Z,UB168XhBhecxzeD1w2ZRUhwTHpPSqv2WNh8NrZHqz1F2EqxxbSW6iFfVtsg3HkU9NX2cD7R92D8VRLSyArZ9xKQ
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM,42.0,2020-09-15T23:31:50.264241Z,53AVNEVpQBteJBRAKp6naxXsgESDjqe1ge9Dg2HeCSpYWTuGTLqHrBpkHTnpvPJURNgKWxkJfihuRa5STVRjL2hy
|
||||
CYRJWqiSjLitBAcRxPvWpgX3s5TvmN2SuRY3eEYypFvT,43.0,2020-09-15T23:33:53.680821Z,4XsMfLx9D2ZxVpdJ5xdkV2w4X4SKEQ5zbQhcH4NcRwgZDkdRNiZjvnMFaWaWHUh5eF1LwFPpQdjn6mzSsiCVj3L7
|
||||
```
|
||||
|
||||
### Calculate what tokens should be sent
|
||||
@ -64,26 +63,23 @@ List the differences between a list of expected distributions and the record of
|
||||
transactions have already been sent.
|
||||
|
||||
```bash
|
||||
solana-tokens distribute-tokens --dollars-per-sol <NUMBER> --dry-run --from-bids --input-csv <BIDS_CSV>
|
||||
solana-tokens distribute-tokens --dry-run --input-csv <RECIPIENTS_CSV>
|
||||
```
|
||||
|
||||
Example bids.csv:
|
||||
Example recipients.csv:
|
||||
|
||||
```text
|
||||
primary_address,bid_amount_dollars
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,6.6
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,15.4
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM,9.24
|
||||
UKUcTXgbeTYh65RaVV5gSf6xBHevqHvAXMo3e8Q6np8k,9.46
|
||||
recipient,amount,lockup_date
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv,80,
|
||||
7aHDubg5FBYj1SgmyBgU3ZJdtfuqYCQsJQK2pTR5JUqr,42,
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```text
|
||||
Recipient Amount
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv 70
|
||||
3ihfUy1n9gaqihM5bJCiTAGLgWc5zo3DqVUS6T736NLM 42
|
||||
UKUcTXgbeTYh65RaVV5gSf6xBHevqHvAXMo3e8Q6np8k 43
|
||||
Recipient Expected Balance (◎)
|
||||
6Vo87BaDhp4v4GHwVDhw5huhxVF8CyxSXYtkUwVHbbPv 10
|
||||
7aHDubg5FBYj1SgmyBgU3ZJdtfuqYCQsJQK2pTR5JUqr 42
|
||||
```
|
||||
|
||||
## Distribute stake accounts
|
||||
|
Reference in New Issue
Block a user