cic-custodial/internal/tasker/client/registration.go

34 lines
715 B
Go

package client
import (
"encoding/json"
"github.com/hibiken/asynq"
)
const (
ActivateAccountTask JobType = "registration:activate"
GiftGasTask JobType = "registration:gift_gas"
SetNewAccountNonceTask JobType = "registration:set_new_account_nonce"
)
type RegistrationPayload struct {
PublicKey string
}
func (tc *TaskerClient) CreateRegistrationTask(taskPayload RegistrationPayload, jobType JobType) (*asynq.TaskInfo, error) {
payload, err := json.Marshal(taskPayload)
if err != nil {
return nil, err
}
task := asynq.NewTask(string(jobType), payload, asynq.Retention(defaultRetentionPeriod))
t, err := tc.Client.Enqueue(task)
if err != nil {
return nil, err
}
return t, nil
}