2019-11-26 11:49:42 -04:00
|
|
|
const Joi = require("@hapi/joi");
|
|
|
|
|
|
|
|
module.exports = Joi.object({
|
|
|
|
from: [
|
|
|
|
Joi.object({
|
|
|
|
name: Joi.string(),
|
|
|
|
email: Joi.string().email()
|
|
|
|
}),
|
|
|
|
Joi.string().email()
|
|
|
|
],
|
|
|
|
templates: Joi.object({
|
2019-11-26 19:07:17 -04:00
|
|
|
subscribe: Joi.string(),
|
2019-11-26 11:49:42 -04:00
|
|
|
contracts: Joi.object().pattern(
|
|
|
|
Joi.string().pattern(/^0x[0-9A-Za-z]{40}$/),
|
2019-11-26 15:52:38 -04:00
|
|
|
Joi.object().pattern(
|
2019-11-27 10:48:38 -04:00
|
|
|
Joi.string(),
|
|
|
|
Joi.object({
|
|
|
|
ABI: Joi.object({
|
|
|
|
name: Joi.string(),
|
|
|
|
type: Joi.string().pattern(/^event$/),
|
|
|
|
inputs: Joi.array().items(
|
|
|
|
Joi.object({
|
|
|
|
indexed: Joi.bool(),
|
|
|
|
name: Joi.string(),
|
|
|
|
type: Joi.string()
|
|
|
|
})
|
|
|
|
)
|
|
|
|
}).unknown(),
|
|
|
|
index: [Joi.string(), Joi.func().arity(3)],
|
|
|
|
template: Joi.string(),
|
|
|
|
data: Joi.func()
|
|
|
|
.arity(2)
|
|
|
|
.optional(),
|
|
|
|
filter: Joi.func()
|
|
|
|
.arity(2)
|
|
|
|
.optional()
|
|
|
|
})
|
|
|
|
)
|
2019-11-26 11:49:42 -04:00
|
|
|
)
|
|
|
|
})
|
|
|
|
});
|