mirror of
https://github.com/grassrootseconomics/cic-custodial.git
synced 2024-11-05 23:26:46 +01:00
Mohammed Sohail
cf1f9f34c3
* fallback to custom ethereum checksum validator -> https://github.com/go-playground/validator/issues/1073 * decouple jetsream emitter to separate package * refactor task handlers into individual files * add error handler for echo to capture unexpected errors and log them * move handler dependencies into single struct container -> custodialContainer * replace signer to use EIP 1559 signer -> celoutils v1 * Add 1 minutes timeout to all custodial tasks
54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
package tasker
|
|
|
|
import (
|
|
"crypto/ecdsa"
|
|
"encoding/json"
|
|
"math/big"
|
|
"time"
|
|
|
|
"github.com/celo-org/celo-blockchain/common"
|
|
"github.com/grassrootseconomics/w3-celo-patch"
|
|
)
|
|
|
|
type (
|
|
QueueName string
|
|
TaskName string
|
|
)
|
|
|
|
type SystemContainer struct {
|
|
Abis map[string]*w3.Func
|
|
AccountIndexContract common.Address
|
|
GasFaucetContract common.Address
|
|
GasRefillThreshold *big.Int
|
|
GasRefillValue *big.Int
|
|
GiftableGasValue *big.Int
|
|
GiftableToken common.Address
|
|
GiftableTokenValue *big.Int
|
|
LockPrefix string
|
|
LockTimeout time.Duration
|
|
PrivateKey *ecdsa.PrivateKey
|
|
PublicKey string
|
|
TokenDecimals int
|
|
TokenTransferGasLimit uint64
|
|
}
|
|
|
|
type Task struct {
|
|
Id string `json:"id"`
|
|
Payload json.RawMessage `json:"payload"`
|
|
}
|
|
|
|
const (
|
|
AccountPrepareTask TaskName = "sys:prepare_account"
|
|
AccountRegisterTask TaskName = "sys:register_account"
|
|
AccountGiftGasTask TaskName = "sys:gift_gas"
|
|
AccountGiftVoucherTask TaskName = "sys:gift_token"
|
|
AccountRefillGasTask TaskName = "sys:refill_gas"
|
|
SignTransferTask TaskName = "usr:sign_transfer"
|
|
DispatchTxTask TaskName = "rpc:dispatch"
|
|
)
|
|
|
|
const (
|
|
HighPriority QueueName = "high_priority"
|
|
DefaultPriority QueueName = "default_priority"
|
|
)
|