61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
export type CustomError =
|
|
| InvalidSwitchboardVrfAccount
|
|
| MaxResultExceedsMaximum
|
|
| EmptyCurrentRoundResult
|
|
| InvalidAuthorityError
|
|
|
|
export class InvalidSwitchboardVrfAccount extends Error {
|
|
readonly code = 6000
|
|
readonly name = "InvalidSwitchboardVrfAccount"
|
|
readonly msg = "Not a valid Switchboard VRF account"
|
|
|
|
constructor() {
|
|
super("6000: Not a valid Switchboard VRF account")
|
|
}
|
|
}
|
|
|
|
export class MaxResultExceedsMaximum extends Error {
|
|
readonly code = 6001
|
|
readonly name = "MaxResultExceedsMaximum"
|
|
readonly msg = "The max result must not exceed u64"
|
|
|
|
constructor() {
|
|
super("6001: The max result must not exceed u64")
|
|
}
|
|
}
|
|
|
|
export class EmptyCurrentRoundResult extends Error {
|
|
readonly code = 6002
|
|
readonly name = "EmptyCurrentRoundResult"
|
|
readonly msg = "Current round result is empty"
|
|
|
|
constructor() {
|
|
super("6002: Current round result is empty")
|
|
}
|
|
}
|
|
|
|
export class InvalidAuthorityError extends Error {
|
|
readonly code = 6003
|
|
readonly name = "InvalidAuthorityError"
|
|
readonly msg = "Invalid authority account provided."
|
|
|
|
constructor() {
|
|
super("6003: Invalid authority account provided.")
|
|
}
|
|
}
|
|
|
|
export function fromCode(code: number): CustomError | null {
|
|
switch (code) {
|
|
case 6000:
|
|
return new InvalidSwitchboardVrfAccount()
|
|
case 6001:
|
|
return new MaxResultExceedsMaximum()
|
|
case 6002:
|
|
return new EmptyCurrentRoundResult()
|
|
case 6003:
|
|
return new InvalidAuthorityError()
|
|
}
|
|
|
|
return null
|
|
}
|