sui

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: Apache-2.0 Imports: 19 Imported by: 106

Documentation

Index

Constants

View Source
const ValidSuiAddressLength = 66

Variables

This section is empty.

Functions

func GetFaucetHost added in v1.0.4

func GetFaucetHost(network string) (string, error)

GetFaucetHost returns the faucet host for the given network.

func RequestSuiFromFaucet added in v1.0.4

func RequestSuiFromFaucet(faucetHost, recipientAddress string, header map[string]string) error

RequestSuiFromFaucet requests sui from faucet.

Types

type BaseRequestHandler added in v1.1.1

type BaseRequestHandler struct {
	// contains filtered or unexported fields
}

BaseRequestHandler unified request handler to eliminate duplicate code in all API files

func NewBaseRequestHandler added in v1.1.1

func NewBaseRequestHandler(conn *httpconn.HttpConn) *BaseRequestHandler

NewBaseRequestHandler creates a new base request handler

func (*BaseRequestHandler) ExecuteRequest added in v1.1.1

func (h *BaseRequestHandler) ExecuteRequest(ctx context.Context, method string, params []interface{}, result interface{}) error

ExecuteRequest unified request execution method

func (*BaseRequestHandler) ExecuteRequestWithValidation added in v1.1.1

func (h *BaseRequestHandler) ExecuteRequestWithValidation(ctx context.Context, method string, params []interface{}, req interface{}, result interface{}) error

ExecuteRequestWithValidation request execution method with validation

func (*BaseRequestHandler) ExecuteSimpleRequest added in v1.1.1

func (h *BaseRequestHandler) ExecuteSimpleRequest(ctx context.Context, method string, params []interface{}) (gjson.Result, error)

ExecuteSimpleRequest executes simple requests (returns basic types)

type IBaseAPI

type IBaseAPI interface {
	SuiCall(ctx context.Context, method string, params ...interface{}) (interface{}, error)
}

type IReadEventFromSuiAPI

type IReadEventFromSuiAPI interface {
	SuiGetEvents(ctx context.Context, req models.SuiGetEventsRequest) (models.GetEventsResponse, error)
	SuiXQueryEvents(ctx context.Context, req models.SuiXQueryEventsRequest) (models.PaginatedEventsResponse, error)
}

type IReadNameServiceFromSuiAPI added in v1.0.4

type IReadNameServiceFromSuiAPI interface {
	SuiXResolveNameServiceAddress(ctx context.Context, req models.SuiXResolveNameServiceAddressRequest) (string, error)
	SuiXResolveNameServiceNames(ctx context.Context, req models.SuiXResolveNameServiceNamesRequest) (models.SuiXResolveNameServiceNamesResponse, error)
}

type IReadSystemFromSuiAPI added in v1.0.2

type IReadSystemFromSuiAPI interface {
	SuiGetCheckpoint(ctx context.Context, req models.SuiGetCheckpointRequest) (models.CheckpointResponse, error)
	SuiGetCheckpoints(ctx context.Context, req models.SuiGetCheckpointsRequest) (models.PaginatedCheckpointsResponse, error)
	SuiGetLatestCheckpointSequenceNumber(ctx context.Context) (uint64, error)
	SuiXGetReferenceGasPrice(ctx context.Context) (uint64, error)
	SuiXGetCommitteeInfo(ctx context.Context, req models.SuiXGetCommitteeInfoRequest) (models.SuiXGetCommitteeInfoResponse, error)
	SuiXGetStakes(ctx context.Context, req models.SuiXGetStakesRequest) ([]*models.DelegatedStakesResponse, error)
	SuiXGetStakesByIds(ctx context.Context, req models.SuiXGetStakesByIdsRequest) ([]*models.DelegatedStakesResponse, error)
	SuiXGetEpochs(ctx context.Context, req models.SuiXGetEpochsRequest) (models.PaginatedEpochInfoResponse, error)
	SuiXGetCurrentEpoch(ctx context.Context) (models.EpochInfo, error)
	SuiXGetLatestSuiSystemState(ctx context.Context) (models.SuiSystemStateSummary, error)
	SuiGetChainIdentifier(ctx context.Context) (string, error)
	SuiXGetValidatorsApy(ctx context.Context) (models.ValidatorsApy, error)
	SuiGetProtocolConfig(ctx context.Context, req models.SuiGetProtocolConfigRequest) (models.ProtocolConfigResponse, error)
}

type ISubscribeAPI

type ISubscribeAPI interface {
	SubscribeEvent(ctx context.Context, req models.SuiXSubscribeEventsRequest, msgCh chan models.SuiEventResponse) error
	SubscribeTransaction(ctx context.Context, req models.SuiXSubscribeTransactionsRequest, msgCh chan models.SuiEffects) error
}

type ISuiAPI

ISuiAPI defines the SuiAPI related interface, and then implement it by the client.

func NewSuiClient

func NewSuiClient(mainRPC string, backupRPCs ...string) ISuiAPI

NewSuiClient instantiates the Sui client to call the methods of each module.

func NewSuiClientWithCustomClient added in v1.0.4

func NewSuiClientWithCustomClient(rpcUrl string, c *http.Client) ISuiAPI

NewSuiClientWithCustomClient custom HTTP client, instantiates the Sui client to call the methods of each module.

type ISuiWebsocketAPI added in v1.0.4

type ISuiWebsocketAPI interface {
	ISubscribeAPI
}

ISuiWebsocketAPI defines the subscription API related interface, and then implement it by the WebsocketClient.

func NewSuiWebsocketClient added in v1.0.4

func NewSuiWebsocketClient(rpcUrl string) ISuiWebsocketAPI

NewSuiWebsocketClient instantiates the WebsocketClient to call the methods of each module.

type IWriteTransactionAPI

type IWriteTransactionAPI interface {
	SuiExecuteTransactionBlock(ctx context.Context, req models.SuiExecuteTransactionBlockRequest) (models.SuiTransactionBlockResponse, error)
	MoveCall(ctx context.Context, req models.MoveCallRequest) (models.TxnMetaData, error)
	MergeCoins(ctx context.Context, req models.MergeCoinsRequest) (models.TxnMetaData, error)
	SplitCoin(ctx context.Context, req models.SplitCoinRequest) (models.TxnMetaData, error)
	SplitCoinEqual(ctx context.Context, req models.SplitCoinEqualRequest) (models.TxnMetaData, error)
	Publish(ctx context.Context, req models.PublishRequest) (models.TxnMetaData, error)
	TransferObject(ctx context.Context, req models.TransferObjectRequest) (models.TxnMetaData, error)
	TransferSui(ctx context.Context, req models.TransferSuiRequest) (models.TxnMetaData, error)
	Pay(ctx context.Context, req models.PayRequest) (models.TxnMetaData, error)
	PaySui(ctx context.Context, req models.PaySuiRequest) (models.TxnMetaData, error)
	PayAllSui(ctx context.Context, req models.PayAllSuiRequest) (models.TxnMetaData, error)
	RequestAddStake(ctx context.Context, req models.AddStakeRequest) (models.TxnMetaData, error)
	RequestWithdrawStake(ctx context.Context, req models.WithdrawStakeRequest) (models.TxnMetaData, error)
	BatchTransaction(ctx context.Context, req models.BatchTransactionRequest) (models.BatchTransactionResponse, error)
	SignAndExecuteTransactionBlock(ctx context.Context, req models.SignAndExecuteTransactionBlockRequest) (models.SuiTransactionBlockResponse, error)
}

type WebsocketClient added in v1.0.4

type WebsocketClient struct {
	ISubscribeAPI
}

WebsocketClient implements SuiWebsocketAPI related interfaces.

Directories

Path Synopsis
v2
Package v2 provides the Sui client v2 API.
Package v2 provides the Sui client v2 API.

Jump to

Keyboard shortcuts

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