diff --git a/.gitignore b/.gitignore index 5a7a108..52f1e43 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ *.key sui.keystore.fortest /vendor/ +.Ds_Store diff --git a/examples/transaction/main.go b/examples/transaction/main.go index 5164ed4..2a977d3 100644 --- a/examples/transaction/main.go +++ b/examples/transaction/main.go @@ -12,29 +12,29 @@ import ( ) var ctx = context.Background() -var cli = sui.NewSuiClient(constant.BvTestnetEndpoint) +var cli = sui.NewSuiClient(constant.BvMainnetEndpoint) func main() { - SuiGetTotalTransactionBlocks() + //SuiGetTotalTransactionBlocks() SuiGetTransactionBlock() - SuiMultiGetTransactionBlocks() - SuiXQueryTransactionBlocks() - MoveCall() - MergeCoins() - SplitCoin() - SplitCoinEqual() - Publish() - TransferObject() - TransferSui() - Pay() - PaySui() - PayAllSui() - RequestAddStake() - RequestWithdrawStake() - BatchTransaction() - SuiExecuteTransactionBlock() - SuiDryRunTransactionBlock() - SignAndExecuteTransactionBlock() + //SuiMultiGetTransactionBlocks() + //SuiXQueryTransactionBlocks() + //MoveCall() + //MergeCoins() + //SplitCoin() + //SplitCoinEqual() + //Publish() + //TransferObject() + //TransferSui() + //Pay() + //PaySui() + //PayAllSui() + //RequestAddStake() + //RequestWithdrawStake() + //BatchTransaction() + //SuiExecuteTransactionBlock() + //SuiDryRunTransactionBlock() + //SignAndExecuteTransactionBlock() } func SuiExecuteTransactionBlock() { @@ -143,7 +143,7 @@ func SuiGetTotalTransactionBlocks() { func SuiGetTransactionBlock() { rsp, err := cli.SuiGetTransactionBlock(ctx, models.SuiGetTransactionBlockRequest{ - Digest: "CeVpDXKKU3Gs89efej9pKiYYQyTzifE2BDxWwquUaUht", + Digest: "AhZYEiFFQtv5i1nLaURHiyvQNiyUBzNCHodnKFxgc2Lf", Options: models.SuiTransactionBlockOptions{ ShowInput: true, ShowRawInput: true, diff --git a/models/read_transaction.go b/models/read_transaction.go index 5c463da..8120033 100644 --- a/models/read_transaction.go +++ b/models/read_transaction.go @@ -28,12 +28,24 @@ type SuiArgument map[string]interface{} type SuiCallArg map[string]interface{} type SuiTransactionBlockKind struct { - Kind string `json:"kind"` - Inputs []SuiCallArg `json:"inputs"` - Transactions []SuiTransaction `json:"transactions"` + Kind string `json:"kind"` + Inputs []SuiCallArg `json:"inputs"` + Transactions []any `json:"transactions"` } -type SuiTransaction struct { +func MoveCall(data any) *MoveCallSuiTransaction { + bs, _ := json.Marshal(data) + res := gjson.GetBytes(bs, "MoveCall").Raw + + if res != "" { + var data *MoveCallSuiTransaction + _ = json.Unmarshal([]byte(res), &data) + return data + } + return nil +} + +type SuiTransactionEnum struct { MakeMoveVec []interface{} `json:"MakeMoveVec,omitempty"` MergeCoins []interface{} `json:"MergeCoins,omitempty"` SplitCoins []interface{} `json:"SplitCoins,omitempty"` @@ -44,8 +56,8 @@ type SuiTransaction struct { } type ProgrammableTransaction struct { - Transactions []SuiTransaction `json:"transactions"` - Inputs []SuiCallArg `json:"inputs"` + Transactions []any `json:"transactions"` + Inputs []SuiCallArg `json:"inputs"` } type MoveCallSuiTransaction struct {