Skip to content

@passes/reqs / Exports / SignedRequestTopic

Class: SignedRequestTopic<TRequestBody, TResultBody>

Wraps a RequestTopic to implement result signing and verification.

Implements

Type parameters

Name
TRequestBody
TResultBody

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new SignedRequestTopic<TRequestBody, TResultBody>(params): SignedRequestTopic<TRequestBody, TResultBody>

Type parameters

Name
TRequestBody
TResultBody

Parameters

NameType
paramsSignedRequestTopicParams<TRequestBody, TResultBody>

Returns

SignedRequestTopic<TRequestBody, TResultBody>

Overrides

RequestTopic.constructor

Defined in

signed-request-topic.js:34

Properties

abi

abi: PassesABI

Inherited from

RequestTopic.abi

Defined in

request-topic.js:37


id

id: string

Inherited from

RequestTopic.id

Defined in

request-topic.js:34


requestBodyCodec

requestBodyCodec: Codec<any>

Inherited from

RequestTopic.requestBodyCodec

Defined in

request-topic.js:35


resultBodyCodec

resultBodyCodec: Codec<any>

Inherited from

RequestTopic.resultBodyCodec

Defined in

request-topic.js:36


signResult

signResult: (body: TResultBody) => Promise<SignedBodyWrapperHeader>

Type declaration

▸ (body): Promise<SignedBodyWrapperHeader>

Parameters
NameType
bodyTResultBody
Returns

Promise<SignedBodyWrapperHeader>

Defined in

signed-request-topic.js:36


verifyResult

verifyResult: (signed: SignedBodyWrapper<TResultBody>) => Promise<boolean>

Type declaration

▸ (signed): Promise<boolean>

Parameters
NameType
signedSignedBodyWrapper<TResultBody>
Returns

Promise<boolean>

Defined in

signed-request-topic.js:37


Errors

Static Errors: Object

Type declaration

NameType
ABI_NOT_AVAILABLEtypeof RequestTopicABINotAvailable
CANNOT_SIGNtypeof SignedRequestTopicCannotSign
CANNOT_VERIFYtypeof SignedRequestTopicCannotVerify
INCORRECT_TOPICtypeof RequestTopicIncorrectTopicError
INVALID_SIGNATUREtypeof SignedRequestTopicInvalidSignature

Overrides

RequestTopic.Errors

Defined in

signed-request-topic.js:101

Methods

decodeRequest

decodeRequest(bytes): Promise<any>

Decodes an envelope-v0x00 request into a structured request body.

Parameters

NameType
bytesUint8Array

Returns

Promise<any>

Inherited from

RequestTopic.decodeRequest

Defined in

request-topic.js:59


decodeResult

decodeResult(bytes): Promise<SignedRequestResult<TResultBody>>

Returns the signed result's body if the result signature is valid. Throws if the signature is invalid.

Parameters

NameType
bytesUint8Array

Returns

Promise<SignedRequestResult<TResultBody>>

Throws

  • Throws an INVALID_SIGNATURE error if the signature does not represent match the body and public key

Throws

  • Throws a CANNOT_VERIFY error if no verifyResult implementation was provided at construction

Overrides

RequestTopic.decodeResult

Defined in

signed-request-topic.js:73


encodeRequest

encodeRequest(body): Promise<Uint8Array>

Encodes a structured request body into an envelope-v0x00 request.

Parameters

NameType
bodyany

Returns

Promise<Uint8Array>

Inherited from

RequestTopic.encodeRequest

Defined in

request-topic.js:46


encodeResult

encodeResult(result): Promise<Uint8Array>

Encodes a structured result body into a signed result.

Parameters

NameType
resultSignedRequestResult<TResultBody>

Returns

Promise<Uint8Array>

Throws

  • Throws a CANNOT_SIGN error if no signResult implementation was provided at construction

Overrides

RequestTopic.encodeResult

Defined in

signed-request-topic.js:47


resolveABI

resolveABI(): PassesABI

A helper for resolving the PassesABI. If the instance has no abi property, it returns document.passes if it's available.

Returns

PassesABI

Throws

  • document.passes must be available if abi is not passed.

Inherited from

RequestTopic.resolveABI

Defined in

request-topic.js:150


sendRequest

sendRequest(reqBody): Promise<RequestResult<TResultBody>>

Sends a request.

Parameters

NameType
reqBodyTRequestBody

Returns

Promise<RequestResult<TResultBody>>

Overrides

RequestTopic.sendRequest

Defined in

signed-request-topic.js:94


toString

toString(): string

Returns a string representation of the request topic.

Returns

string

Inherited from

RequestTopic.toString

Defined in

request-topic.js:175


withABI

withABI(abi): RequestTopic<any, any>

Returns a new RequestTopic instance with the same id and codecs, but with a new ABI.

Parameters

NameType
abiPassesABI

Returns

RequestTopic<any, any>

Inherited from

RequestTopic.withABI

Defined in

request-topic.js:162