Transaction.data.transaction.transactions compatible with string type.

This commit is contained in:
JaydenLink
2024-08-29 19:13:28 +08:00
parent 8b07ca0193
commit 036582eb0e
3 changed files with 40 additions and 27 deletions

1
.gitignore vendored
View File

@@ -8,3 +8,4 @@
*.key
sui.keystore.fortest
/vendor/
.Ds_Store

View File

@@ -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,

View File

@@ -30,10 +30,22 @@ type SuiCallArg map[string]interface{}
type SuiTransactionBlockKind struct {
Kind string `json:"kind"`
Inputs []SuiCallArg `json:"inputs"`
Transactions []SuiTransaction `json:"transactions"`
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,7 +56,7 @@ type SuiTransaction struct {
}
type ProgrammableTransaction struct {
Transactions []SuiTransaction `json:"transactions"`
Transactions []any `json:"transactions"`
Inputs []SuiCallArg `json:"inputs"`
}