intents

package
v0.60.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

README

This package is used by Sequence WaaS (v2) system.

Documentation

Overview

sequence-waas-intents v0.1.0 7d401e1a69093dd5519b7a02f14de0c1380595e0 -- Code generated by webrpc-gen@v0.24.0 with golang generator. DO NOT EDIT.

webrpc-gen -schema=intent.ridl -target=golang -pkg=intents -out=./intent.gen.go

Index

Constants

View Source
const IntentAllowedTimeDriftInSec = 5
View Source
const IntentValidTimeInSec = 60
View Source
const SendTransactionFailedCode = "transactionFailed"
View Source
const SendTransactionResponseCode = "transactionReceipt"
View Source
const WebrpcHeader = "Webrpc"
View Source
const WebrpcHeaderValue = "webrpc@v0.24.0;gen-golang@v0.18.2;sequence-waas-intents@v0.1.0"

Variables

View Source
var (
	HTTPRequestCtxKey = &contextKey{"HTTPRequest"}

	ServiceNameCtxKey = &contextKey{"ServiceName"}

	MethodNameCtxKey = &contextKey{"MethodName"}
)
View Source
var (
	ErrWebrpcEndpoint           = WebRPCError{Code: 0, Name: "WebrpcEndpoint", Message: "endpoint error", HTTPStatus: 400}
	ErrWebrpcRequestFailed      = WebRPCError{Code: -1, Name: "WebrpcRequestFailed", Message: "request failed", HTTPStatus: 400}
	ErrWebrpcBadRoute           = WebRPCError{Code: -2, Name: "WebrpcBadRoute", Message: "bad route", HTTPStatus: 404}
	ErrWebrpcBadMethod          = WebRPCError{Code: -3, Name: "WebrpcBadMethod", Message: "bad method", HTTPStatus: 405}
	ErrWebrpcBadRequest         = WebRPCError{Code: -4, Name: "WebrpcBadRequest", Message: "bad request", HTTPStatus: 400}
	ErrWebrpcBadResponse        = WebRPCError{Code: -5, Name: "WebrpcBadResponse", Message: "bad response", HTTPStatus: 500}
	ErrWebrpcServerPanic        = WebRPCError{Code: -6, Name: "WebrpcServerPanic", Message: "server panic", HTTPStatus: 500}
	ErrWebrpcInternalError      = WebRPCError{Code: -7, Name: "WebrpcInternalError", Message: "internal error", HTTPStatus: 500}
	ErrWebrpcClientDisconnected = WebRPCError{Code: -8, Name: "WebrpcClientDisconnected", Message: "client disconnected", HTTPStatus: 400}
	ErrWebrpcStreamLost         = WebRPCError{Code: -9, Name: "WebrpcStreamLost", Message: "stream lost", HTTPStatus: 400}
	ErrWebrpcStreamFinished     = WebRPCError{Code: -10, Name: "WebrpcStreamFinished", Message: "stream finished", HTTPStatus: 200}
)

Webrpc errors

View Source
var FeeTokenType_name = map[uint32]string{
	0: "unknown",
	1: "erc20Token",
	2: "erc1155Token",
}
View Source
var FeeTokenType_value = map[string]uint32{
	"unknown":      0,
	"erc20Token":   1,
	"erc1155Token": 2,
}
View Source
var WebRPCServices = map[string][]string{}

Functions

func EncodeContractCall

func EncodeContractCall(data *contractCallType) (string, error)

EncodeContractCall encodes a contract call as a hex encoded calldata. NOTE: see ethcoder.EncodeContractCall for more details.

func EncodeDelayedABI deprecated

func EncodeDelayedABI(data *delayedEncodeType) (string, error)

Deprecated: use EncodeContractCall instead

func IsValidSessionSignature

func IsValidSessionSignature(sessionId string, signature string, intent *Intent) error

func IsValidSessionSignatureP256K1

func IsValidSessionSignatureP256K1(sessionId string, signature string, intent *Intent) error

IsValidSessionSignatureP256K1 checks if the signature is valid for the given secp256k1 session

func IsValidSessionSignatureP256R1

func IsValidSessionSignatureP256R1(sessionId string, signature string, intent *Intent) error

IsValidSessionSignatureP256R1 checks if the signature is valid for the given secp256r1 session

func MethodCtx

func MethodCtx(ctx context.Context) (method, bool)

func MethodNameFromContext

func MethodNameFromContext(ctx context.Context) string

func RequestFromContext

func RequestFromContext(ctx context.Context) *http.Request

func ServiceNameFromContext

func ServiceNameFromContext(ctx context.Context) string

func SessionAuthProofMessage

func SessionAuthProofMessage(sessionId string, wallet string, nonce *string) string

func SignIntentP256K1

func SignIntentP256K1(wallet *ethwallet.Wallet, intent *Intent) error

func SignIntentP256R1

func SignIntentP256R1(privateKey *ecdsa.PrivateKey, intent *Intent) error

func SignIntentWithWalletLegacy

func SignIntentWithWalletLegacy(wallet *ethwallet.Wallet, intent *Intent) error

func WebRPCSchemaHash

func WebRPCSchemaHash() string

Schema hash generated from your RIDL schema

func WebRPCSchemaVersion

func WebRPCSchemaVersion() string

Schema version of your RIDL schema

func WebRPCVersion

func WebRPCVersion() string

WebRPC description and code-gen version

func WebrpcMethods

func WebrpcMethods() map[string]method

Types

type AbiData

type AbiData struct {
	Abi  string        `json:"abi"`
	Func *string       `json:"func"`
	Args []interface{} `json:"args"`
}

type Account

type Account struct {
	ID     string       `json:"id"`
	Type   IdentityType `json:"type"`
	Issuer *string      `json:"issuer,omitempty"`
	Email  *string      `json:"email,omitempty"`
}

type AdopterProof

type AdopterProof struct {
	Message   string `json:"message"`
	Signature string `json:"signature"`
}

type ChallengeType

type ChallengeType string
const (
	ChallengeType_EmailOTP ChallengeType = "EmailOTP"
)

func (*ChallengeType) Is

func (x *ChallengeType) Is(values ...ChallengeType) bool

func (ChallengeType) MarshalText

func (x ChallengeType) MarshalText() ([]byte, error)

func (*ChallengeType) UnmarshalText

func (x *ChallengeType) UnmarshalText(b []byte) error

type ExpectedValuesForTransaction

type ExpectedValuesForTransaction struct {
	To    *common.Address
	Value *big.Int
	Data  []byte
}

type FeeOption

type FeeOption struct {
	Token    *FeeToken `json:"token"`
	To       string    `json:"to"`
	Value    string    `json:"value"`
	GasLimit uint      `json:"gasLimit"`
}

type FeeToken

type FeeToken struct {
	ChainId         uint64       `json:"chainId"`
	Name            string       `json:"name"`
	Symbol          string       `json:"symbol"`
	Type            FeeTokenType `json:"type"`
	Decimals        *uint32      `json:"decimals"`
	LogoURL         string       `json:"logoURL"`
	ContractAddress *string      `json:"contractAddress"`
	TokenID         *string      `json:"tokenID"`
}

type FeeTokenType

type FeeTokenType uint32
const (
	FeeTokenType_unknown      FeeTokenType = 0
	FeeTokenType_erc20Token   FeeTokenType = 1
	FeeTokenType_erc1155Token FeeTokenType = 2
)

func (*FeeTokenType) Is

func (x *FeeTokenType) Is(values ...FeeTokenType) bool

func (FeeTokenType) MarshalText

func (x FeeTokenType) MarshalText() ([]byte, error)

func (FeeTokenType) String

func (x FeeTokenType) String() string

func (*FeeTokenType) UnmarshalText

func (x *FeeTokenType) UnmarshalText(b []byte) error

type IdentityType

type IdentityType string
const (
	IdentityType_None    IdentityType = "None"
	IdentityType_Guest   IdentityType = "Guest"
	IdentityType_OIDC    IdentityType = "OIDC"
	IdentityType_Email   IdentityType = "Email"
	IdentityType_PlayFab IdentityType = "PlayFab"
	IdentityType_Stytch  IdentityType = "Stytch"
	IdentityType_Twitter IdentityType = "Twitter"
)

func (*IdentityType) Is

func (x *IdentityType) Is(values ...IdentityType) bool

func (IdentityType) MarshalText

func (x IdentityType) MarshalText() ([]byte, error)

func (*IdentityType) UnmarshalText

func (x *IdentityType) UnmarshalText(b []byte) error

type Intent

type Intent struct {
	Version    string       `json:"version"`
	Name       IntentName   `json:"name"`
	ExpiresAt  uint64       `json:"expiresAt"`
	IssuedAt   uint64       `json:"issuedAt"`
	Data       interface{}  `json:"data"`
	Signatures []*Signature `json:"signatures,omitempty"`
}

func (*Intent) Hash

func (intent *Intent) Hash() ([]byte, error)

func (*Intent) IsValid

func (intent *Intent) IsValid() error

func (*Intent) Signers

func (intent *Intent) Signers() []string

type IntentDataAdoptChildWallet

type IntentDataAdoptChildWallet struct {
	Network      string        `json:"network"`
	Wallet       string        `json:"wallet"`
	Adopter      string        `json:"adopter"`
	AdopterProof *AdopterProof `json:"adopterProof"`
}

type IntentDataCloseSession

type IntentDataCloseSession struct {
	SessionID string `json:"sessionId"`
}

type IntentDataConfirmIntent

type IntentDataConfirmIntent struct {
	Wallet          string `json:"wallet"`
	ConfirmationID  string `json:"confirmationID"`
	ChallengeAnswer string `json:"challengeAnswer"`
}

type IntentDataFederateAccount

type IntentDataFederateAccount struct {
	SessionID    string       `json:"sessionId"`
	Wallet       string       `json:"wallet"`
	IdentityType IdentityType `json:"identityType"`
	Verifier     string       `json:"verifier,omitempty"`
	Answer       string       `json:"answer,omitempty"`
}

type IntentDataFeeOptions

type IntentDataFeeOptions struct {
	Network string `json:"network"`
	Wallet  string `json:"wallet"`
	// is used to generate nonce space
	Identifier   string            `json:"identifier"`
	Transactions []json.RawMessage `json:"transactions"`
}

type IntentDataFinishValidateSession

type IntentDataFinishValidateSession struct {
	SessionID string `json:"sessionId"`
	Wallet    string `json:"wallet"`
	Salt      string `json:"salt"`
	Challenge string `json:"challenge"`
}

type IntentDataGetAdopter

type IntentDataGetAdopter struct {
	Wallet string `json:"wallet"`
}

type IntentDataGetConfirmationStatus

type IntentDataGetConfirmationStatus struct {
	Wallet         string `json:"wallet"`
	ConfirmationID string `json:"confirmationID"`
}

type IntentDataGetIdToken

type IntentDataGetIdToken struct {
	SessionID string `json:"sessionId"`
	Wallet    string `json:"wallet"`
	Nonce     string `json:"nonce"`
}

type IntentDataGetSession

type IntentDataGetSession struct {
	SessionID string `json:"sessionId"`
	Wallet    string `json:"wallet"`
}

type IntentDataGetTransactionReceipt

type IntentDataGetTransactionReceipt struct {
	Network    string `json:"network"`
	Wallet     string `json:"wallet"`
	MetaTxHash string `json:"metaTxHash"`
}

type IntentDataInitiateAuth

type IntentDataInitiateAuth struct {
	SessionID    string       `json:"sessionId"`
	IdentityType IdentityType `json:"identityType"`
	Verifier     string       `json:"verifier"`
	Metadata     *string      `json:"metadata,omitempty"`
}

type IntentDataListAccounts

type IntentDataListAccounts struct {
	Wallet string `json:"wallet"`
}

type IntentDataListSessions

type IntentDataListSessions struct {
	Wallet string `json:"wallet"`
}

type IntentDataOpenSession

type IntentDataOpenSession struct {
	SessionID          string       `json:"sessionId"`
	IdentityType       IdentityType `json:"identityType,omitempty"`
	Verifier           string       `json:"verifier,omitempty"`
	Answer             string       `json:"answer,omitempty"`
	ForceCreateAccount bool         `json:"forceCreateAccount,omitempty"`
	// Deprecated
	Email *string `json:"email,omitempty"`
	// Deprecated
	IdToken *string `json:"idToken,omitempty"`
}

func (*IntentDataOpenSession) IsValid

func (id *IntentDataOpenSession) IsValid() error

type IntentDataRemoveAccount

type IntentDataRemoveAccount struct {
	Wallet    string `json:"wallet"`
	AccountID string `json:"accountId"`
}

type IntentDataSendTransaction

type IntentDataSendTransaction struct {
	Network string `json:"network"`
	Wallet  string `json:"wallet"`
	// is used to generate nonce space
	Identifier           string            `json:"identifier"`
	Transactions         []json.RawMessage `json:"transactions"`
	TransactionsFeeQuote *string           `json:"transactionsFeeQuote,omitempty"`
}

func (*IntentDataSendTransaction) ExpectedValuesFor

func (*IntentDataSendTransaction) IsValidInterpretation

func (p *IntentDataSendTransaction) IsValidInterpretation(subdigest common.Hash, txns sequence.Transactions, nonce *big.Int) (bool, error)

func (*IntentDataSendTransaction) Nonce

func (p *IntentDataSendTransaction) Nonce() (*big.Int, error)

type IntentDataSessionAuthProof

type IntentDataSessionAuthProof struct {
	Network string  `json:"network"`
	Wallet  string  `json:"wallet"`
	Nonce   *string `json:"nonce"`
}

func (*IntentDataSessionAuthProof) IsValidInterpretation

func (id *IntentDataSessionAuthProof) IsValidInterpretation(sessionID string, message string) error

type IntentDataSignMessage

type IntentDataSignMessage struct {
	Network string `json:"network"`
	Wallet  string `json:"wallet"`
	Message string `json:"message"`
}

func (*IntentDataSignMessage) IsValidInterpretation

func (p *IntentDataSignMessage) IsValidInterpretation(subdigest common.Hash) bool

A SignMessagePacket (intent) *MUST* be mapped to a regular "SignMessage" Sequence action, this means that it must adhere to the following rules: - the subdigest must match `SubDigest(chainID, Wallet, Digest(Message))`

type IntentDataSignTypedData

type IntentDataSignTypedData struct {
	Network   string              `json:"network"`
	Wallet    string              `json:"wallet"`
	TypedData *ethcoder.TypedData `json:"typedData"`
}

func (*IntentDataSignTypedData) IsValidInterpretation

func (p *IntentDataSignTypedData) IsValidInterpretation(subdigest common.Hash) bool

type IntentDataValidateSession

type IntentDataValidateSession struct {
	SessionID      string `json:"sessionId"`
	Wallet         string `json:"wallet"`
	DeviceMetadata string `json:"deviceMetadata"`
}

type IntentDataValidator

type IntentDataValidator interface {
	IsValid() error
}

type IntentName

type IntentName string
const (
	IntentName_initiateAuth          IntentName = "initiateAuth"
	IntentName_openSession           IntentName = "openSession"
	IntentName_closeSession          IntentName = "closeSession"
	IntentName_validateSession       IntentName = "validateSession"
	IntentName_finishValidateSession IntentName = "finishValidateSession"
	IntentName_listSessions          IntentName = "listSessions"
	IntentName_getSession            IntentName = "getSession"
	IntentName_sessionAuthProof      IntentName = "sessionAuthProof"
	IntentName_feeOptions            IntentName = "feeOptions"
	IntentName_signMessage           IntentName = "signMessage"
	IntentName_signTypedData         IntentName = "signTypedData"
	IntentName_sendTransaction       IntentName = "sendTransaction"
	IntentName_getTransactionReceipt IntentName = "getTransactionReceipt"
	IntentName_federateAccount       IntentName = "federateAccount"
	IntentName_removeAccount         IntentName = "removeAccount"
	IntentName_listAccounts          IntentName = "listAccounts"
	IntentName_getIdToken            IntentName = "getIdToken"
	IntentName_adoptChildWallet      IntentName = "adoptChildWallet"
	IntentName_getAdopter            IntentName = "getAdopter"
	IntentName_confirmIntent         IntentName = "confirmIntent"
	IntentName_getConfirmationStatus IntentName = "getConfirmationStatus"
)

func IntentDataTypeToName

func IntentDataTypeToName[T any](t *T) IntentName

func (*IntentName) Is

func (x *IntentName) Is(values ...IntentName) bool

func (IntentName) MarshalText

func (x IntentName) MarshalText() ([]byte, error)

func (IntentName) String

func (n IntentName) String() string

IntentName stringer helper method, even thought IntentName is a string type, it's useful to have a String() method to satisfy the fmt.Stringer interface

func (*IntentName) UnmarshalText

func (x *IntentName) UnmarshalText(b []byte) error

type IntentResponse

type IntentResponse struct {
	Code IntentResponseCode `json:"code"`
	Data interface{}        `json:"data"`
}

type IntentResponseAccountFederated

type IntentResponseAccountFederated struct {
	Account *Account `json:"account"`
}

type IntentResponseAccountList

type IntentResponseAccountList struct {
	Accounts         []*Account `json:"accounts"`
	CurrentAccountID string     `json:"currentAccountId"`
}

type IntentResponseAccountRemoved

type IntentResponseAccountRemoved struct {
}

type IntentResponseAdopter

type IntentResponseAdopter struct {
	AdopterAddress string `json:"adopterAddress"`
}

type IntentResponseAuthInitiated

type IntentResponseAuthInitiated struct {
	SessionID    string       `json:"sessionId"`
	IdentityType IdentityType `json:"identityType"`
	ExpiresIn    int          `json:"expiresIn"`
	Challenge    *string      `json:"challenge"`
}

type IntentResponseChildWalletAdopted

type IntentResponseChildWalletAdopted struct {
	AdopterAddress string `json:"adopterAddress"`
}

type IntentResponseCode

type IntentResponseCode string
const (
	IntentResponseCode_authInitiated        IntentResponseCode = "authInitiated"
	IntentResponseCode_sessionOpened        IntentResponseCode = "sessionOpened"
	IntentResponseCode_sessionClosed        IntentResponseCode = "sessionClosed"
	IntentResponseCode_sessionList          IntentResponseCode = "sessionList"
	IntentResponseCode_validationRequired   IntentResponseCode = "validationRequired"
	IntentResponseCode_validationStarted    IntentResponseCode = "validationStarted"
	IntentResponseCode_validationFinished   IntentResponseCode = "validationFinished"
	IntentResponseCode_sessionAuthProof     IntentResponseCode = "sessionAuthProof"
	IntentResponseCode_signedMessage        IntentResponseCode = "signedMessage"
	IntentResponseCode_signedTypedData      IntentResponseCode = "signedTypedData"
	IntentResponseCode_feeOptions           IntentResponseCode = "feeOptions"
	IntentResponseCode_transactionReceipt   IntentResponseCode = "transactionReceipt"
	IntentResponseCode_transactionFailed    IntentResponseCode = "transactionFailed"
	IntentResponseCode_getSessionResponse   IntentResponseCode = "getSessionResponse"
	IntentResponseCode_accountList          IntentResponseCode = "accountList"
	IntentResponseCode_accountFederated     IntentResponseCode = "accountFederated"
	IntentResponseCode_accountRemoved       IntentResponseCode = "accountRemoved"
	IntentResponseCode_idToken              IntentResponseCode = "idToken"
	IntentResponseCode_adopter              IntentResponseCode = "adopter"
	IntentResponseCode_childWalletAdopted   IntentResponseCode = "childWalletAdopted"
	IntentResponseCode_confirmationRequired IntentResponseCode = "confirmationRequired"
)

func IntentResponseTypeToCode

func IntentResponseTypeToCode[T any](t *T) IntentResponseCode

func (*IntentResponseCode) Is

func (x *IntentResponseCode) Is(values ...IntentResponseCode) bool

func (IntentResponseCode) MarshalText

func (x IntentResponseCode) MarshalText() ([]byte, error)

func (*IntentResponseCode) UnmarshalText

func (x *IntentResponseCode) UnmarshalText(b []byte) error

type IntentResponseConfirmationRequired

type IntentResponseConfirmationRequired struct {
	ConfirmationID       string        `json:"confirmationId"`
	Salt                 string        `json:"salt"`
	ChallengeType        ChallengeType `json:"challengeType"`
	ChallengeDestination *string       `json:"challengeDestination"`
	ExpiresIn            int           `json:"expiresIn"`
}

type IntentResponseFeeOptions

type IntentResponseFeeOptions struct {
	FeeOptions []*FeeOption `json:"feeOptions"`
	FeeQuote   *string      `json:"feeQuote,omitempty"`
}

type IntentResponseGetSession

type IntentResponseGetSession struct {
	SessionID string `json:"sessionId"`
	Wallet    string `json:"wallet"`
	Validated bool   `json:"validated"`
}

type IntentResponseIdToken

type IntentResponseIdToken struct {
	IdToken   string `json:"idToken"`
	ExpiresIn int    `json:"expiresIn"`
}

type IntentResponseListSessions

type IntentResponseListSessions struct {
	Sessions []string `json:"sessions"`
}

type IntentResponseSessionAuthProof

type IntentResponseSessionAuthProof struct {
	SessionID string `json:"sessionId"`
	Network   string `json:"network"`
	Wallet    string `json:"wallet"`
	// The message contents: “SessionAuthProof <sessionId> <wallet> <nonce?>” hex encoded
	Message   string `json:"message"`
	Signature string `json:"signature"`
}

type IntentResponseSessionClosed

type IntentResponseSessionClosed struct {
}

type IntentResponseSessionOpened

type IntentResponseSessionOpened struct {
	SessionID string `json:"sessionId"`
	Wallet    string `json:"wallet"`
}

type IntentResponseSignedMessage

type IntentResponseSignedMessage struct {
	Signature string `json:"signature"`
	Message   string `json:"message"`
}

type IntentResponseSignedTypedData

type IntentResponseSignedTypedData struct {
	Signature        string `json:"signature"`
	EncodedTypedData string `json:"encodedTypedData"`
}

type IntentResponseTransactionFailed

type IntentResponseTransactionFailed struct {
	Error       string      `json:"error"`
	Request     interface{} `json:"request"`
	Simulations interface{} `json:"simulations"`
}

type IntentResponseTransactionReceipt

type IntentResponseTransactionReceipt struct {
	Request       interface{} `json:"request"`
	TxHash        string      `json:"txHash"`
	MetaTxHash    string      `json:"metaTxHash"`
	Receipt       interface{} `json:"receipt"`
	NativeReceipt interface{} `json:"nativeReceipt"`
	Simulations   interface{} `json:"simulations"`
}

type IntentResponseTyped

type IntentResponseTyped[T any] struct {
	IntentResponse
	Data T `json:"data"`
}

func NewIntentResponseTyped

func NewIntentResponseTyped[T any](data T) *IntentResponseTyped[T]

func NewIntentResponseTypedFromIntentResponse

func NewIntentResponseTypedFromIntentResponse[T any](res *IntentResponse) (*IntentResponseTyped[T], error)

type IntentResponseValidateSession

type IntentResponseValidateSession struct {
}

type IntentResponseValidationFinished

type IntentResponseValidationFinished struct {
	IsValid bool `json:"isValid"`
}

type IntentResponseValidationRequired

type IntentResponseValidationRequired struct {
	SessionID string `json:"sessionId"`
}

type IntentResponseValidationStarted

type IntentResponseValidationStarted struct {
	Salt string `json:"salt"`
}

type IntentTyped

type IntentTyped[T any] struct {
	Intent
	Data T `json:"data"`
}

func NewIntentTyped

func NewIntentTyped[T any](data T) *IntentTyped[T]

func NewIntentTypedFromIntent

func NewIntentTypedFromIntent[T any](intent *Intent) (*IntentTyped[T], error)

func (*IntentTyped[T]) IsValid

func (i *IntentTyped[T]) IsValid() error

func (*IntentTyped[T]) ToIntent

func (i *IntentTyped[T]) ToIntent() *Intent

type KeyType

type KeyType int
const (
	KeyTypeSECP256K1 KeyType = iota
	KeyTypeSECP256R1
	KeyTypeUnknown
)

func KeyTypeFromSessionId

func KeyTypeFromSessionId(sessionId string) KeyType

type SendTransactionFailed

type SendTransactionFailed struct {
	Code string `json:"code"`
	Data struct {
		Request     *IntentDataSendTransaction `json:"request"`
		Simulations []*proto.SimulateResult    `json:"simulations"`
	}
}

type SendTransactionResponse

type SendTransactionResponse struct {
	Code string `json:"code"`
	Data struct {
		Request       *IntentDataSendTransaction `json:"request"`
		TxHash        string                     `json:"txHash"`
		Receipt       *proto.MetaTxnReceipt      `json:"receipt"`
		NativeReceipt *types.Receipt             `json:"nativeReceipt"`
		Simulations   []*proto.SimulateResult    `json:"simulations"`
	}
}

type Session

type Session interface {
	SessionID() string
	Sign(intent *Intent) error
}

func NewSessionP256K1

func NewSessionP256K1(wallet *ethwallet.Wallet) Session

func NewSessionP256R1

func NewSessionP256R1(privateKey *ecdsa.PrivateKey) Session

type Signature

type Signature struct {
	SessionID string `json:"sessionId"`
	Signature string `json:"signature"`
}

type TransactionContractCall

type TransactionContractCall struct {
	Type  string  `json:"type"`
	To    string  `json:"to"`
	Value string  `json:"value"`
	Data  AbiData `json:"data"`
}

type TransactionDelayedEncode deprecated

type TransactionDelayedEncode struct {
	Type  string          `json:"type"`
	To    string          `json:"to"`
	Value string          `json:"value"`
	Data  json.RawMessage `json:"data"`
}

Deprecated: TransactionDelayedEncode is not type safe, please use TransactionContractCall instead

type TransactionERC1155

type TransactionERC1155 struct {
	Type         string                     `json:"type"`
	TokenAddress string                     `json:"tokenAddress"`
	To           string                     `json:"to"`
	Vals         []*TransactionERC1155Value `json:"vals"`
	Data         *string                    `json:"data"`
}

type TransactionERC1155Value

type TransactionERC1155Value struct {
	ID     string `json:"id"`
	Amount string `json:"amount"`
}

type TransactionERC20

type TransactionERC20 struct {
	Type         string `json:"type"`
	TokenAddress string `json:"tokenAddress"`
	To           string `json:"to"`
	Value        string `json:"value"`
}

type TransactionERC721

type TransactionERC721 struct {
	Type         string  `json:"type"`
	TokenAddress string  `json:"tokenAddress"`
	To           string  `json:"to"`
	Id           string  `json:"id"`
	Safe         *bool   `json:"safe"`
	Data         *string `json:"data"`
}

type TransactionRaw

type TransactionRaw struct {
	Type  string `json:"type"`
	To    string `json:"to"`
	Value string `json:"value"`
	Data  string `json:"data"`
}

type TransactionType

type TransactionType string
const (
	TransactionType_transaction   TransactionType = "transaction"
	TransactionType_erc20send     TransactionType = "erc20send"
	TransactionType_erc721send    TransactionType = "erc721send"
	TransactionType_erc1155send   TransactionType = "erc1155send"
	TransactionType_delayedEncode TransactionType = "delayedEncode"
	TransactionType_contractCall  TransactionType = "contractCall"
)

func (*TransactionType) Is

func (x *TransactionType) Is(values ...TransactionType) bool

func (TransactionType) MarshalText

func (x TransactionType) MarshalText() ([]byte, error)

func (*TransactionType) UnmarshalText

func (x *TransactionType) UnmarshalText(b []byte) error

type WebRPCError

type WebRPCError struct {
	Name       string `json:"error"`
	Code       int    `json:"code"`
	Message    string `json:"msg"`
	Cause      string `json:"cause,omitempty"`
	HTTPStatus int    `json:"status"`
	// contains filtered or unexported fields
}

func ErrorWithCause deprecated

func ErrorWithCause(rpcErr WebRPCError, cause error) WebRPCError

Deprecated: Use .WithCause() method on WebRPCError.

func (WebRPCError) Error

func (e WebRPCError) Error() string

func (WebRPCError) Is

func (e WebRPCError) Is(target error) bool

func (WebRPCError) Unwrap

func (e WebRPCError) Unwrap() error

func (WebRPCError) WithCause

func (e WebRPCError) WithCause(cause error) WebRPCError

func (WebRPCError) WithCausef

func (e WebRPCError) WithCausef(format string, args ...interface{}) WebRPCError

type WebrpcGenVersions

type WebrpcGenVersions struct {
	WebrpcGenVersion string
	CodeGenName      string
	CodeGenVersion   string
	SchemaName       string
	SchemaVersion    string
}

func VersionFromHeader

func VersionFromHeader(h http.Header) (*WebrpcGenVersions, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL