From fd39575101f237131be8e8ebd6882d96f80c31c6 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Mon, 21 Oct 2024 00:24:32 +0530 Subject: [PATCH 01/11] feat: implement methods for getting Ethereum transactions by block hash and index --- itests/fevm_test.go | 75 +++++++++++++++++++++++++++++++++++++++++++ node/impl/full/eth.go | 75 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 146 insertions(+), 4 deletions(-) diff --git a/itests/fevm_test.go b/itests/fevm_test.go index 19f9af0178c..93d9bff4fea 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1436,3 +1436,78 @@ func TestEthGetBlockByNumber(t *testing.T) { require.NotNil(t, pendingBlock) require.True(t, pendingBlock.Number >= latest) } + +func TestEthGetTransactionByBlockHashAndIndex(t *testing.T) { + ctx, cancel, client := kit.SetupFEVMTest(t) + defer cancel() + + key, ethAddr, filAddr := client.EVM().NewAccount() + // Send some funds to the f410 address + kit.SendFunds(ctx, t, client, filAddr, types.FromFil(10)) + + // Deploy the Blocktest contract + tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") + client.EVM().SignTransaction(tx, key.PrivateKey) + hash := client.EVM().SubmitTransaction(ctx, tx) + + receipt, err := client.EVM().WaitTransaction(ctx, hash) + require.NoError(t, err) + require.NotNil(t, receipt) + require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + + // Use the block hash from the receipt + blockHash := receipt.BlockHash + + // Get the block by its hash + block, err := client.EthGetBlockByHash(ctx, blockHash, false) + require.NoError(t, err) + require.NotNil(t, block) + + ethTx, err := client.EthGetTransactionByBlockHashAndIndex(ctx, block.Hash, ethtypes.EthUint64(0)) + require.NoError(t, err) + require.NotNil(t, ethTx) + require.Equal(t, hash, ethTx.Hash) +} + +func TestEthGetTransactionByBlockNumberAndIndex(t *testing.T) { + ctx, cancel, client := kit.SetupFEVMTest(t) + defer cancel() + + key, ethAddr, filAddr := client.EVM().NewAccount() + // Send some funds to the f410 address + kit.SendFunds(ctx, t, client, filAddr, types.FromFil(10)) + + tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") + client.EVM().SignTransaction(tx, key.PrivateKey) + hash := client.EVM().SubmitTransaction(ctx, tx) + + receipt, err := client.EVM().WaitTransaction(ctx, hash) + require.NoError(t, err) + require.NotNil(t, receipt) + require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + + blockHash := receipt.BlockHash + + // Get the block by its hash + block, err := client.EthGetBlockByHash(ctx, blockHash, false) + require.NoError(t, err) + require.NotNil(t, block) + + require.NotNil(t, receipt.BlockNumber) + require.Greater(t, receipt.BlockNumber, ethtypes.EthUint64(0)) + + ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, receipt.BlockNumber, ethtypes.EthUint64(0)) + if err != nil { + t.Logf("Error getting transaction: %v", err) + block, blockErr := client.EthGetBlockByNumber(ctx, receipt.BlockNumber.Hex(), false) + if blockErr != nil { + t.Logf("Error getting block: %v", blockErr) + } else { + t.Logf("Block exists, transaction count: %d", len(block.Transactions)) + } + } + + require.NoError(t, err) + require.NotNil(t, ethTx) + require.Equal(t, hash, ethTx.Hash) +} diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index a3164c000ad..272c5f2cd78 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -175,6 +175,7 @@ type EthAPI struct { EthModuleAPI EthEventAPI + StateAPI StateAPI } var ErrNullRound = errors.New("requested epoch was a null round") @@ -570,12 +571,78 @@ func (a *EthModule) EthGetTransactionReceiptLimited(ctx context.Context, txHash return &receipt, nil } -func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(context.Context, ethtypes.EthHash, ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, ErrUnsupported +func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (ethtypes.EthTx, error) { + ts, err := a.Chain.GetTipSetByCid(ctx, blkHash.ToCid()) + if err != nil { + return ethtypes.EthTx{}, xerrors.Errorf("failed to find tipset for block hash %s: %w", blkHash, err) + } + + return a.getTransactionByTipsetAndIndex(ctx, ts, index) } -func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(context.Context, ethtypes.EthUint64, ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, ErrUnsupported +func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (ethtypes.EthTx, error) { + ts, err := getTipsetByBlockNumber(ctx, a.Chain, strconv.FormatUint(uint64(blkNum), 10), false) + if err != nil { + return ethtypes.EthTx{}, xerrors.Errorf("failed to get tipset: %w", err) + } + return a.getTransactionByTipsetAndIndex(ctx, ts, index) +} +func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.TipSet, index ethtypes.EthUint64) (ethtypes.EthTx, error) { + msgs, err := a.Chain.MessagesForTipset(ctx, ts) + if err != nil { + log.Errorf("Failed to get messages for tipset: %v", err) + return ethtypes.EthTx{}, xerrors.Errorf("failed to get messages for tipset: %w", err) + } + + if uint64(index) >= uint64(len(msgs)) { + log.Errorf("Transaction index %d out of bounds (total messages: %d)", index, len(msgs)) + return ethtypes.EthTx{}, xerrors.Errorf("transaction index out of bounds") + } + + msg := msgs[index] + + log.Debugf("Searching for message with CID %s in tipset %s", msg.Cid(), ts.Key()) + + msgLookup, err := a.StateAPI.StateSearchMsg(ctx, ts.Key(), msg.Cid(), 10, false) + if err != nil { + log.Errorf("Failed to search for message: %v", err) + return ethtypes.EthTx{}, xerrors.Errorf("failed to search for message: %w", err) + } + + if msgLookup == nil { + log.Debugf("Message not found in chain, attempting retry") + for i := 0; i < 3; i++ { + time.Sleep(time.Second * 2) + msgLookup, err = a.StateAPI.StateSearchMsg(ctx, ts.Key(), msg.Cid(), 10, false) + if err != nil { + log.Errorf("Retry %d failed to search for message: %v", i+1, err) + continue + } + if msgLookup != nil { + break + } + } + } + + if msgLookup == nil { + log.Debugf("Message not found in chain after retries, returning pending transaction") + pendingTx, err := newEthTxFromSignedMessage(&types.SignedMessage{Message: *msg.VMMessage()}, nil) + if err != nil { + log.Errorf("Failed to create pending Ethereum transaction: %v", err) + return ethtypes.EthTx{}, xerrors.Errorf("failed to create pending Ethereum transaction: %w", err) + } + return pendingTx, nil + } + + log.Debugf("Message found in chain: %+v", msgLookup) + + tx, err := newEthTxFromMessageLookup(ctx, msgLookup, -1, a.Chain, a.StateAPI) + if err != nil { + log.Errorf("Failed to convert message to Ethereum transaction: %v", err) + return ethtypes.EthTx{}, xerrors.Errorf("failed to convert message to Ethereum transaction: %w", err) + } + log.Debugf("Retrieved transaction: %+v", tx) + return tx, nil } func (a *EthModule) EthGetBlockReceipts(ctx context.Context, blockParam ethtypes.EthBlockNumberOrHash) ([]*api.EthTxReceipt, error) { From 9ea444ff9e26c259daccd6757204d974bd434dc5 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Mon, 21 Oct 2024 13:09:37 +0530 Subject: [PATCH 02/11] feat: implement methods for getting Ethereum transactions by block hash and index --- api/api_full.go | 4 +- api/api_gateway.go | 3 +- api/mocks/mock_full.go | 8 +- api/proxy_gen.go | 46 ++- build/openrpc/full.json | 480 ++++++++++++++--------------- build/openrpc/gateway.json | 613 +++++++++++++++++++++++++++++++------ build/openrpc/miner.json | 176 +++++------ build/openrpc/worker.json | 74 ++--- gateway/node.go | 4 +- gateway/proxy_eth.go | 8 + itests/fevm_test.go | 121 +++++--- node/impl/full/dummy.go | 8 +- node/impl/full/eth.go | 60 +--- 13 files changed, 1020 insertions(+), 585 deletions(-) diff --git a/api/api_full.go b/api/api_full.go index 944bfa88e28..e6098a9838d 100644 --- a/api/api_full.go +++ b/api/api_full.go @@ -785,8 +785,8 @@ type FullNode interface { EthGetBlockReceipts(ctx context.Context, blkParam ethtypes.EthBlockNumberOrHash) ([]*EthTxReceipt, error) //perm:read EthGetBlockReceiptsLimited(ctx context.Context, blkParam ethtypes.EthBlockNumberOrHash, limit abi.ChainEpoch) ([]*EthTxReceipt, error) //perm:read EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*EthTxReceipt, error) //perm:read - EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) //perm:read - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) //perm:read + EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) //perm:read + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) //perm:read EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read diff --git a/api/api_gateway.go b/api/api_gateway.go index 4cf733f6c1b..17c62aa4a05 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -136,7 +136,8 @@ type Gateway interface { EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error) EthTraceTransaction(ctx context.Context, txHash string) ([]*ethtypes.EthTraceTransaction, error) EthTraceFilter(ctx context.Context, filter ethtypes.EthTraceFilterCriteria) ([]*ethtypes.EthTraceFilterResult, error) - + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (*ethtypes.EthTx, error) + EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (*ethtypes.EthTx, error) GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) ChainGetEvents(context.Context, cid.Cid) ([]types.Event, error) diff --git a/api/mocks/mock_full.go b/api/mocks/mock_full.go index 7c03b446fde..46daf4a99fe 100644 --- a/api/mocks/mock_full.go +++ b/api/mocks/mock_full.go @@ -871,10 +871,10 @@ func (mr *MockFullNodeMockRecorder) EthGetStorageAt(arg0, arg1, arg2, arg3 inter } // EthGetTransactionByBlockHashAndIndex mocks base method. -func (m *MockFullNode) EthGetTransactionByBlockHashAndIndex(arg0 context.Context, arg1 ethtypes.EthHash, arg2 ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (m *MockFullNode) EthGetTransactionByBlockHashAndIndex(arg0 context.Context, arg1 ethtypes.EthHash, arg2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "EthGetTransactionByBlockHashAndIndex", arg0, arg1, arg2) - ret0, _ := ret[0].(ethtypes.EthTx) + ret0, _ := ret[0].(*ethtypes.EthTx) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -886,10 +886,10 @@ func (mr *MockFullNodeMockRecorder) EthGetTransactionByBlockHashAndIndex(arg0, a } // EthGetTransactionByBlockNumberAndIndex mocks base method. -func (m *MockFullNode) EthGetTransactionByBlockNumberAndIndex(arg0 context.Context, arg1, arg2 ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (m *MockFullNode) EthGetTransactionByBlockNumberAndIndex(arg0 context.Context, arg1, arg2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "EthGetTransactionByBlockNumberAndIndex", arg0, arg1, arg2) - ret0, _ := ret[0].(ethtypes.EthTx) + ret0, _ := ret[0].(*ethtypes.EthTx) ret1, _ := ret[1].(error) return ret0, ret1 } diff --git a/api/proxy_gen.go b/api/proxy_gen.go index 37ce3c03c87..b4855be9de3 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -214,9 +214,9 @@ type FullNodeMethods struct { EthGetStorageAt func(p0 context.Context, p1 ethtypes.EthAddress, p2 ethtypes.EthBytes, p3 ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) `perm:"read"` - EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) `perm:"read"` + EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `perm:"read"` - EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) `perm:"read"` + EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `perm:"read"` EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `perm:"read"` @@ -680,6 +680,10 @@ type GatewayMethods struct { EthGetStorageAt func(p0 context.Context, p1 ethtypes.EthAddress, p2 ethtypes.EthBytes, p3 ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) `` + EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `` + + EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `` + EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `` EthGetTransactionByHashLimited func(p0 context.Context, p1 *ethtypes.EthHash, p2 abi.ChainEpoch) (*ethtypes.EthTx, error) `` @@ -1893,26 +1897,26 @@ func (s *FullNodeStub) EthGetStorageAt(p0 context.Context, p1 ethtypes.EthAddres return *new(ethtypes.EthBytes), ErrNotSupported } -func (s *FullNodeStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (s *FullNodeStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByBlockHashAndIndex == nil { - return *new(ethtypes.EthTx), ErrNotSupported + return nil, ErrNotSupported } return s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2) } -func (s *FullNodeStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - return *new(ethtypes.EthTx), ErrNotSupported +func (s *FullNodeStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrNotSupported } -func (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByBlockNumberAndIndex == nil { - return *new(ethtypes.EthTx), ErrNotSupported + return nil, ErrNotSupported } return s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2) } -func (s *FullNodeStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) { - return *new(ethtypes.EthTx), ErrNotSupported +func (s *FullNodeStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrNotSupported } func (s *FullNodeStruct) EthGetTransactionByHash(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) { @@ -4390,6 +4394,28 @@ func (s *GatewayStub) EthGetStorageAt(p0 context.Context, p1 ethtypes.EthAddress return *new(ethtypes.EthBytes), ErrNotSupported } +func (s *GatewayStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + if s.Internal.EthGetTransactionByBlockHashAndIndex == nil { + return nil, ErrNotSupported + } + return s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2) +} + +func (s *GatewayStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + if s.Internal.EthGetTransactionByBlockNumberAndIndex == nil { + return nil, ErrNotSupported + } + return s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2) +} + +func (s *GatewayStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrNotSupported +} + func (s *GatewayStruct) EthGetTransactionByHash(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByHash == nil { return nil, ErrNotSupported diff --git a/build/openrpc/full.json b/build/openrpc/full.json index fef48110f2b..0f46db1ce9e 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -37,7 +37,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1346" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1350" } }, { @@ -60,7 +60,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1357" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1361" } }, { @@ -103,7 +103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1368" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1372" } }, { @@ -214,7 +214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1390" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1394" } }, { @@ -454,7 +454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1401" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1405" } }, { @@ -685,7 +685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1412" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1416" } }, { @@ -784,7 +784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1423" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1427" } }, { @@ -816,7 +816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1434" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1438" } }, { @@ -922,7 +922,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1445" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1449" } }, { @@ -1019,7 +1019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1456" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1460" } }, { @@ -1078,7 +1078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1467" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1471" } }, { @@ -1171,7 +1171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1478" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1482" } }, { @@ -1255,7 +1255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1489" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1493" } }, { @@ -1355,7 +1355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1500" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1504" } }, { @@ -1411,7 +1411,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1511" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1515" } }, { @@ -1484,7 +1484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1522" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1526" } }, { @@ -1557,7 +1557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1533" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1537" } }, { @@ -1604,7 +1604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1544" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1548" } }, { @@ -1636,7 +1636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1555" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1559" } }, { @@ -1691,7 +1691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1566" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1570" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1588" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1592" } }, { @@ -1780,7 +1780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1599" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1603" } }, { @@ -1827,7 +1827,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1610" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1614" } }, { @@ -1874,7 +1874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1621" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1625" } }, { @@ -1954,7 +1954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1632" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1636" } }, { @@ -2006,7 +2006,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1643" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1647" } }, { @@ -2045,7 +2045,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1654" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1658" } }, { @@ -2092,7 +2092,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1665" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1669" } }, { @@ -2147,7 +2147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1676" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1680" } }, { @@ -2176,7 +2176,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1687" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1691" } }, { @@ -2313,7 +2313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1698" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1702" } }, { @@ -2342,7 +2342,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1709" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1713" } }, { @@ -2396,7 +2396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1720" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1724" } }, { @@ -2487,7 +2487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1731" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1735" } }, { @@ -2515,7 +2515,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1742" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1746" } }, { @@ -2605,7 +2605,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1753" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1757" } }, { @@ -2861,7 +2861,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1764" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1768" } }, { @@ -3106,7 +3106,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1775" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1779" } }, { @@ -3382,7 +3382,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1786" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1790" } }, { @@ -3675,7 +3675,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1797" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1801" } }, { @@ -3731,7 +3731,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1808" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1812" } }, { @@ -3778,7 +3778,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1819" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1823" } }, { @@ -3876,7 +3876,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1830" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1834" } }, { @@ -3942,7 +3942,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1841" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1845" } }, { @@ -4008,7 +4008,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1852" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1856" } }, { @@ -4117,7 +4117,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1863" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1867" } }, { @@ -4175,7 +4175,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1874" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1878" } }, { @@ -4297,12 +4297,12 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1885" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1889" } }, { "name": "Filecoin.EthGetTransactionByBlockHashAndIndex", - "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockHashAndIndex == nil {\n\t\treturn *new(ethtypes.EthTx), ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2)\n}\n```", + "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockHashAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2)\n}\n```", "summary": "", "paramStructure": "by-position", "params": [ @@ -4351,8 +4351,8 @@ } ], "result": { - "name": "ethtypes.EthTx", - "description": "ethtypes.EthTx", + "name": "*ethtypes.EthTx", + "description": "*ethtypes.EthTx", "summary": "", "schema": { "examples": [ @@ -4506,12 +4506,12 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1896" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1900" } }, { "name": "Filecoin.EthGetTransactionByBlockNumberAndIndex", - "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn *new(ethtypes.EthTx), ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", + "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", "summary": "", "paramStructure": "by-position", "params": [ @@ -4551,8 +4551,8 @@ } ], "result": { - "name": "ethtypes.EthTx", - "description": "ethtypes.EthTx", + "name": "*ethtypes.EthTx", + "description": "*ethtypes.EthTx", "summary": "", "schema": { "examples": [ @@ -4706,7 +4706,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1907" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1911" } }, { @@ -4898,7 +4898,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1918" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1922" } }, { @@ -5107,7 +5107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1929" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1933" } }, { @@ -5198,7 +5198,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1940" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1944" } }, { @@ -5256,7 +5256,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1951" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1955" } }, { @@ -5514,7 +5514,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1962" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1966" } }, { @@ -5789,7 +5789,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1973" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1977" } }, { @@ -5817,7 +5817,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1984" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1988" } }, { @@ -5855,7 +5855,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1995" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1999" } }, { @@ -5963,7 +5963,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2006" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2010" } }, { @@ -6001,7 +6001,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2017" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2021" } }, { @@ -6030,7 +6030,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2028" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2032" } }, { @@ -6093,7 +6093,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2039" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2043" } }, { @@ -6156,7 +6156,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2050" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2054" } }, { @@ -6219,7 +6219,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2061" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2065" } }, { @@ -6264,7 +6264,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2072" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2076" } }, { @@ -6386,7 +6386,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2083" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2087" } }, { @@ -6562,7 +6562,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2094" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2098" } }, { @@ -6717,7 +6717,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2105" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2109" } }, { @@ -6839,7 +6839,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2116" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2120" } }, { @@ -6893,7 +6893,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2127" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2131" } }, { @@ -6947,7 +6947,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2138" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2142" } }, { @@ -7132,7 +7132,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2149" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2153" } }, { @@ -7215,7 +7215,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2160" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2164" } }, { @@ -7298,7 +7298,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2171" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2175" } }, { @@ -7465,7 +7465,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2182" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2186" } }, { @@ -7670,7 +7670,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2193" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2197" } }, { @@ -7764,7 +7764,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2204" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2208" } }, { @@ -7810,7 +7810,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2215" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2219" } }, { @@ -7837,7 +7837,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2226" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2230" } }, { @@ -7892,7 +7892,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2237" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2241" } }, { @@ -7971,7 +7971,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2248" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2252" } }, { @@ -8034,7 +8034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2259" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2263" } }, { @@ -8177,7 +8177,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2270" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2274" } }, { @@ -8304,7 +8304,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2281" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2285" } }, { @@ -8406,7 +8406,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2292" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2296" } }, { @@ -8629,7 +8629,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2303" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2307" } }, { @@ -8812,7 +8812,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2314" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2318" } }, { @@ -8892,7 +8892,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2325" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2329" } }, { @@ -8937,7 +8937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2336" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2340" } }, { @@ -8993,7 +8993,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2347" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2351" } }, { @@ -9073,7 +9073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2358" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2362" } }, { @@ -9153,7 +9153,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2369" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2373" } }, { @@ -9638,7 +9638,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2380" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2384" } }, { @@ -9832,7 +9832,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2391" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2395" } }, { @@ -9987,7 +9987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2402" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2406" } }, { @@ -10236,7 +10236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2413" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2417" } }, { @@ -10391,7 +10391,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2424" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2428" } }, { @@ -10568,7 +10568,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2435" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2439" } }, { @@ -10666,7 +10666,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2446" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2450" } }, { @@ -10831,7 +10831,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2457" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2461" } }, { @@ -10870,7 +10870,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2468" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2472" } }, { @@ -10935,7 +10935,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2479" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2483" } }, { @@ -10981,7 +10981,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2490" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2494" } }, { @@ -11131,7 +11131,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2501" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2505" } }, { @@ -11268,7 +11268,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2512" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2516" } }, { @@ -11499,7 +11499,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2523" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2527" } }, { @@ -11636,7 +11636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2534" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2538" } }, { @@ -11801,7 +11801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2545" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2549" } }, { @@ -11878,7 +11878,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2556" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2560" } }, { @@ -12073,7 +12073,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2578" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2582" } }, { @@ -12252,7 +12252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2589" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2593" } }, { @@ -12414,7 +12414,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2600" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2604" } }, { @@ -12562,7 +12562,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2611" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2615" } }, { @@ -12790,7 +12790,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2622" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2626" } }, { @@ -12938,7 +12938,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2633" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2637" } }, { @@ -13150,7 +13150,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2644" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2648" } }, { @@ -13356,7 +13356,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2655" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2659" } }, { @@ -13424,7 +13424,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2666" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2670" } }, { @@ -13541,7 +13541,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2677" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2681" } }, { @@ -13632,7 +13632,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2688" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2692" } }, { @@ -13718,7 +13718,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2699" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2703" } }, { @@ -13913,7 +13913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2710" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2714" } }, { @@ -14075,7 +14075,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2721" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2725" } }, { @@ -14271,7 +14271,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2732" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2736" } }, { @@ -14451,7 +14451,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2743" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2747" } }, { @@ -14614,7 +14614,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2754" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2758" } }, { @@ -14641,7 +14641,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2765" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2769" } }, { @@ -14668,7 +14668,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2776" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2780" } }, { @@ -14767,7 +14767,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2787" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2791" } }, { @@ -14813,7 +14813,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2798" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2802" } }, { @@ -14913,7 +14913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2809" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2813" } }, { @@ -15029,7 +15029,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2820" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2824" } }, { @@ -15077,7 +15077,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2831" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2835" } }, { @@ -15169,7 +15169,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2842" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2846" } }, { @@ -15284,7 +15284,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2853" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2857" } }, { @@ -15332,7 +15332,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2864" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2868" } }, { @@ -15369,7 +15369,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2875" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2879" } }, { @@ -15641,7 +15641,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2886" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2890" } }, { @@ -15689,7 +15689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2897" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2901" } }, { @@ -15747,7 +15747,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2908" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2912" } }, { @@ -15952,7 +15952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2919" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2923" } }, { @@ -16155,7 +16155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2930" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2934" } }, { @@ -16324,7 +16324,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2941" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2945" } }, { @@ -16528,7 +16528,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2952" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2956" } }, { @@ -16695,7 +16695,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2963" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2967" } }, { @@ -16902,7 +16902,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2974" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2978" } }, { @@ -16970,7 +16970,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2985" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2989" } }, { @@ -17022,7 +17022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2996" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3000" } }, { @@ -17071,7 +17071,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3007" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3011" } }, { @@ -17162,7 +17162,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3018" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3022" } }, { @@ -17668,7 +17668,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3029" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3033" } }, { @@ -17774,7 +17774,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3040" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3044" } }, { @@ -17826,7 +17826,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3051" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3055" } }, { @@ -18378,7 +18378,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3062" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3066" } }, { @@ -18492,7 +18492,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3073" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3077" } }, { @@ -18589,7 +18589,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3084" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3088" } }, { @@ -18689,7 +18689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3095" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3099" } }, { @@ -18777,7 +18777,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3106" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3110" } }, { @@ -18877,7 +18877,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3117" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3121" } }, { @@ -18964,7 +18964,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3128" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3132" } }, { @@ -19055,7 +19055,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3139" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3143" } }, { @@ -19180,7 +19180,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3150" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3154" } }, { @@ -19289,7 +19289,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3161" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3165" } }, { @@ -19359,7 +19359,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3172" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3176" } }, { @@ -19462,7 +19462,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3183" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3187" } }, { @@ -19523,7 +19523,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3194" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3198" } }, { @@ -19653,7 +19653,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3205" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3209" } }, { @@ -19760,7 +19760,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3216" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3220" } }, { @@ -19979,7 +19979,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3227" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3231" } }, { @@ -20056,7 +20056,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3238" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3242" } }, { @@ -20133,7 +20133,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3249" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3253" } }, { @@ -20242,7 +20242,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3260" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3264" } }, { @@ -20351,7 +20351,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3271" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3275" } }, { @@ -20412,7 +20412,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3282" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3286" } }, { @@ -20522,7 +20522,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3293" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3297" } }, { @@ -20583,7 +20583,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3304" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3308" } }, { @@ -20651,7 +20651,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3315" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3319" } }, { @@ -20719,7 +20719,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3326" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3330" } }, { @@ -20800,7 +20800,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3337" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3341" } }, { @@ -20954,7 +20954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3348" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3352" } }, { @@ -21026,7 +21026,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3359" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3363" } }, { @@ -21190,7 +21190,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3370" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3374" } }, { @@ -21355,7 +21355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3381" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3385" } }, { @@ -21425,7 +21425,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3392" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3396" } }, { @@ -21493,7 +21493,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3403" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3407" } }, { @@ -21586,7 +21586,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3414" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3418" } }, { @@ -21657,7 +21657,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3425" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3429" } }, { @@ -21858,7 +21858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3436" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3440" } }, { @@ -21990,7 +21990,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3447" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3451" } }, { @@ -22093,7 +22093,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3458" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3462" } }, { @@ -22230,7 +22230,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3469" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3473" } }, { @@ -22341,7 +22341,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3480" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3484" } }, { @@ -22473,7 +22473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3491" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3495" } }, { @@ -22604,7 +22604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3502" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3506" } }, { @@ -22675,7 +22675,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3513" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3517" } }, { @@ -22759,7 +22759,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3524" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3528" } }, { @@ -22845,7 +22845,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3535" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3539" } }, { @@ -23028,7 +23028,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3546" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3550" } }, { @@ -23055,7 +23055,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3557" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3561" } }, { @@ -23108,7 +23108,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3568" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3572" } }, { @@ -23196,7 +23196,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3579" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3583" } }, { @@ -23647,7 +23647,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3590" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3594" } }, { @@ -23814,7 +23814,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3601" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3605" } }, { @@ -23912,7 +23912,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3612" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3616" } }, { @@ -24085,7 +24085,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3623" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3627" } }, { @@ -24183,7 +24183,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3634" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3638" } }, { @@ -24334,7 +24334,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3645" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3649" } }, { @@ -24419,7 +24419,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3656" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3660" } }, { @@ -24487,7 +24487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3667" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3671" } }, { @@ -24539,7 +24539,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3678" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3682" } }, { @@ -24607,7 +24607,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3689" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3693" } }, { @@ -24768,7 +24768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3700" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3704" } }, { @@ -24815,7 +24815,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3722" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3726" } }, { @@ -24862,7 +24862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3733" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3737" } }, { @@ -24905,7 +24905,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3755" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3759" } }, { @@ -25001,7 +25001,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3766" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3770" } }, { @@ -25267,7 +25267,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3777" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3781" } }, { @@ -25290,7 +25290,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3788" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3792" } }, { @@ -25333,7 +25333,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3799" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3803" } }, { @@ -25384,7 +25384,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3810" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3814" } }, { @@ -25429,7 +25429,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3821" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3825" } }, { @@ -25457,7 +25457,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3832" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3836" } }, { @@ -25497,7 +25497,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3843" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3847" } }, { @@ -25556,7 +25556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3854" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3858" } }, { @@ -25600,7 +25600,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3865" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3869" } }, { @@ -25659,7 +25659,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3876" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3880" } }, { @@ -25696,7 +25696,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3887" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3891" } }, { @@ -25740,7 +25740,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3898" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3902" } }, { @@ -25780,7 +25780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3909" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3913" } }, { @@ -25855,7 +25855,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3920" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3924" } }, { @@ -26063,7 +26063,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3931" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3935" } }, { @@ -26107,7 +26107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3942" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3946" } }, { @@ -26197,7 +26197,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3953" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3957" } }, { @@ -26224,7 +26224,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3964" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3968" } } ] diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 0fb1576a48a..688790b0d7d 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -242,7 +242,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3975" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3979" } }, { @@ -473,7 +473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3986" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3990" } }, { @@ -572,7 +572,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3997" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4001" } }, { @@ -604,7 +604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4008" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4012" } }, { @@ -710,7 +710,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4019" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4023" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4030" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4034" } }, { @@ -887,7 +887,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4041" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4045" } }, { @@ -987,7 +987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4052" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4056" } }, { @@ -1043,7 +1043,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4063" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4067" } }, { @@ -1116,7 +1116,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4074" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4078" } }, { @@ -1189,7 +1189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4085" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4089" } }, { @@ -1236,7 +1236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4096" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4100" } }, { @@ -1268,7 +1268,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4107" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4111" } }, { @@ -1305,7 +1305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4129" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4133" } }, { @@ -1352,7 +1352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4140" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4144" } }, { @@ -1392,7 +1392,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4151" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4155" } }, { @@ -1439,7 +1439,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4162" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4166" } }, { @@ -1494,7 +1494,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4173" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4177" } }, { @@ -1523,7 +1523,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4184" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4188" } }, { @@ -1660,7 +1660,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4195" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4199" } }, { @@ -1689,7 +1689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4206" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4210" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4217" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4221" } }, { @@ -1834,7 +1834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4228" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4232" } }, { @@ -1862,7 +1862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4239" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4243" } }, { @@ -1952,7 +1952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4250" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4254" } }, { @@ -2208,7 +2208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4261" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4265" } }, { @@ -2453,7 +2453,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4272" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4276" } }, { @@ -2729,7 +2729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4283" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4287" } }, { @@ -3022,7 +3022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4294" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4298" } }, { @@ -3078,7 +3078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4305" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4309" } }, { @@ -3125,7 +3125,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4316" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4320" } }, { @@ -3223,7 +3223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4327" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4331" } }, { @@ -3289,7 +3289,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4338" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4342" } }, { @@ -3355,7 +3355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4349" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4353" } }, { @@ -3464,7 +3464,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4360" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4364" } }, { @@ -3522,7 +3522,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4371" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4375" } }, { @@ -3644,7 +3644,416 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4382" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4386" + } + }, + { + "name": "Filecoin.EthGetTransactionByBlockHashAndIndex", + "description": "```go\nfunc (s *GatewayStruct) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockHashAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockHashAndIndex(p0, p1, p2)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [ + { + "name": "p1", + "description": "ethtypes.EthHash", + "summary": "", + "schema": { + "examples": [ + "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e" + ], + "items": [ + { + "title": "number", + "description": "Number is a number", + "type": [ + "number" + ] + } + ], + "maxItems": 32, + "minItems": 32, + "type": [ + "array" + ] + }, + "required": true, + "deprecated": false + }, + { + "name": "p2", + "description": "ethtypes.EthUint64", + "summary": "", + "schema": { + "title": "number", + "description": "Number is a number", + "examples": [ + "0x5" + ], + "type": [ + "number" + ] + }, + "required": true, + "deprecated": false + } + ], + "result": { + "name": "*ethtypes.EthTx", + "description": "*ethtypes.EthTx", + "summary": "", + "schema": { + "examples": [ + { + "chainId": "0x5", + "nonce": "0x5", + "hash": "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e", + "blockHash": "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e", + "blockNumber": "0x5", + "transactionIndex": "0x5", + "from": "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031", + "to": "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031", + "value": "0x0", + "type": "0x5", + "input": "0x07", + "gas": "0x5", + "maxFeePerGas": "0x0", + "maxPriorityFeePerGas": "0x0", + "gasPrice": "0x0", + "accessList": [ + "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e" + ], + "v": "0x0", + "r": "0x0", + "s": "0x0" + } + ], + "additionalProperties": false, + "properties": { + "accessList": { + "items": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "type": "array" + }, + "blockHash": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "blockNumber": { + "title": "number", + "type": "number" + }, + "chainId": { + "title": "number", + "type": "number" + }, + "from": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 20, + "minItems": 20, + "type": "array" + }, + "gas": { + "title": "number", + "type": "number" + }, + "gasPrice": { + "additionalProperties": false, + "type": "object" + }, + "hash": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "input": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "type": "array" + }, + "maxFeePerGas": { + "additionalProperties": false, + "type": "object" + }, + "maxPriorityFeePerGas": { + "additionalProperties": false, + "type": "object" + }, + "nonce": { + "title": "number", + "type": "number" + }, + "r": { + "additionalProperties": false, + "type": "object" + }, + "s": { + "additionalProperties": false, + "type": "object" + }, + "to": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 20, + "minItems": 20, + "type": "array" + }, + "transactionIndex": { + "title": "number", + "type": "number" + }, + "type": { + "title": "number", + "type": "number" + }, + "v": { + "additionalProperties": false, + "type": "object" + }, + "value": { + "additionalProperties": false, + "type": "object" + } + }, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4397" + } + }, + { + "name": "Filecoin.EthGetTransactionByBlockNumberAndIndex", + "description": "```go\nfunc (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [ + { + "name": "p1", + "description": "ethtypes.EthUint64", + "summary": "", + "schema": { + "title": "number", + "description": "Number is a number", + "examples": [ + "0x5" + ], + "type": [ + "number" + ] + }, + "required": true, + "deprecated": false + }, + { + "name": "p2", + "description": "ethtypes.EthUint64", + "summary": "", + "schema": { + "title": "number", + "description": "Number is a number", + "examples": [ + "0x5" + ], + "type": [ + "number" + ] + }, + "required": true, + "deprecated": false + } + ], + "result": { + "name": "*ethtypes.EthTx", + "description": "*ethtypes.EthTx", + "summary": "", + "schema": { + "examples": [ + { + "chainId": "0x5", + "nonce": "0x5", + "hash": "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e", + "blockHash": "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e", + "blockNumber": "0x5", + "transactionIndex": "0x5", + "from": "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031", + "to": "0x5cbeecf99d3fdb3f25e309cc264f240bb0664031", + "value": "0x0", + "type": "0x5", + "input": "0x07", + "gas": "0x5", + "maxFeePerGas": "0x0", + "maxPriorityFeePerGas": "0x0", + "gasPrice": "0x0", + "accessList": [ + "0x37690cfec6c1bf4c3b9288c7a5d783e98731e90b0a4c177c2a374c7a9427355e" + ], + "v": "0x0", + "r": "0x0", + "s": "0x0" + } + ], + "additionalProperties": false, + "properties": { + "accessList": { + "items": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "type": "array" + }, + "blockHash": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "blockNumber": { + "title": "number", + "type": "number" + }, + "chainId": { + "title": "number", + "type": "number" + }, + "from": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 20, + "minItems": 20, + "type": "array" + }, + "gas": { + "title": "number", + "type": "number" + }, + "gasPrice": { + "additionalProperties": false, + "type": "object" + }, + "hash": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "input": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "type": "array" + }, + "maxFeePerGas": { + "additionalProperties": false, + "type": "object" + }, + "maxPriorityFeePerGas": { + "additionalProperties": false, + "type": "object" + }, + "nonce": { + "title": "number", + "type": "number" + }, + "r": { + "additionalProperties": false, + "type": "object" + }, + "s": { + "additionalProperties": false, + "type": "object" + }, + "to": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 20, + "minItems": 20, + "type": "array" + }, + "transactionIndex": { + "title": "number", + "type": "number" + }, + "type": { + "title": "number", + "type": "number" + }, + "v": { + "additionalProperties": false, + "type": "object" + }, + "value": { + "additionalProperties": false, + "type": "object" + } + }, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4408" } }, { @@ -3836,7 +4245,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4393" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4419" } }, { @@ -4045,7 +4454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4404" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4430" } }, { @@ -4136,7 +4545,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4415" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4441" } }, { @@ -4194,7 +4603,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4426" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4452" } }, { @@ -4452,7 +4861,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4437" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4463" } }, { @@ -4727,7 +5136,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4448" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4474" } }, { @@ -4755,7 +5164,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4459" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4485" } }, { @@ -4793,7 +5202,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4470" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4496" } }, { @@ -4901,7 +5310,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4481" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4507" } }, { @@ -4939,7 +5348,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4492" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4518" } }, { @@ -4968,7 +5377,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4503" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4529" } }, { @@ -5031,7 +5440,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4514" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4540" } }, { @@ -5094,7 +5503,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4525" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4551" } }, { @@ -5139,7 +5548,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4536" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4562" } }, { @@ -5261,7 +5670,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4547" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4573" } }, { @@ -5437,7 +5846,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4558" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4584" } }, { @@ -5592,7 +6001,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4569" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4595" } }, { @@ -5714,7 +6123,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4580" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4606" } }, { @@ -5768,7 +6177,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4591" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4617" } }, { @@ -5822,7 +6231,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4602" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4628" } }, { @@ -5885,7 +6294,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4613" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4639" } }, { @@ -5987,7 +6396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4624" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4650" } }, { @@ -6210,7 +6619,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4635" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4661" } }, { @@ -6393,7 +6802,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4646" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4672" } }, { @@ -6587,7 +6996,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4657" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4683" } }, { @@ -6633,7 +7042,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4668" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4694" } }, { @@ -6783,7 +7192,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4679" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4705" } }, { @@ -6920,7 +7329,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4690" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4716" } }, { @@ -6988,7 +7397,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4701" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4727" } }, { @@ -7105,7 +7514,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4712" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4738" } }, { @@ -7196,7 +7605,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4723" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4749" } }, { @@ -7282,7 +7691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4734" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4760" } }, { @@ -7309,7 +7718,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4745" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4771" } }, { @@ -7336,7 +7745,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4756" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4782" } }, { @@ -7404,7 +7813,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4767" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4793" } }, { @@ -7910,7 +8319,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4778" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4804" } }, { @@ -8007,7 +8416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4789" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4815" } }, { @@ -8107,7 +8516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4800" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4826" } }, { @@ -8207,7 +8616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4811" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4837" } }, { @@ -8332,7 +8741,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4822" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4848" } }, { @@ -8441,7 +8850,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4833" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4859" } }, { @@ -8544,7 +8953,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4844" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4870" } }, { @@ -8674,7 +9083,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4855" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4881" } }, { @@ -8781,7 +9190,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4866" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4892" } }, { @@ -8842,7 +9251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4877" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4903" } }, { @@ -8910,7 +9319,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4888" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4914" } }, { @@ -8991,7 +9400,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4899" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4925" } }, { @@ -9155,7 +9564,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4910" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4936" } }, { @@ -9248,7 +9657,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4921" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4947" } }, { @@ -9449,7 +9858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4932" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4958" } }, { @@ -9560,7 +9969,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4943" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4969" } }, { @@ -9691,7 +10100,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4954" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4980" } }, { @@ -9777,7 +10186,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4965" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4991" } }, { @@ -9804,7 +10213,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4976" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5002" } }, { @@ -9857,7 +10266,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4987" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5013" } }, { @@ -9945,7 +10354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4998" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5024" } }, { @@ -10396,7 +10805,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5009" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5035" } }, { @@ -10563,7 +10972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5020" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5046" } }, { @@ -10736,7 +11145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5031" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5057" } }, { @@ -10804,7 +11213,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5042" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5068" } }, { @@ -10872,7 +11281,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5053" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5079" } }, { @@ -11033,7 +11442,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5064" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5090" } }, { @@ -11078,7 +11487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5086" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5112" } }, { @@ -11123,7 +11532,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5097" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5123" } }, { @@ -11150,7 +11559,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5108" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5134" } } ] diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 1ac9768be0a..6e06356cc55 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -30,7 +30,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5394" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5420" } }, { @@ -109,7 +109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5405" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5431" } }, { @@ -155,7 +155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5416" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5442" } }, { @@ -203,7 +203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5427" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5453" } }, { @@ -251,7 +251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5438" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5464" } }, { @@ -354,7 +354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5449" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5475" } }, { @@ -428,7 +428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5460" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5486" } }, { @@ -591,7 +591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5471" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5497" } }, { @@ -742,7 +742,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5482" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5508" } }, { @@ -781,7 +781,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5493" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5519" } }, { @@ -913,7 +913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5504" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5530" } }, { @@ -945,7 +945,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5515" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5541" } }, { @@ -986,7 +986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5526" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5552" } }, { @@ -1054,7 +1054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5537" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5563" } }, { @@ -1185,7 +1185,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5548" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5574" } }, { @@ -1316,7 +1316,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5559" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5585" } }, { @@ -1416,7 +1416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5570" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5596" } }, { @@ -1516,7 +1516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5581" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5607" } }, { @@ -1616,7 +1616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5592" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5618" } }, { @@ -1716,7 +1716,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5603" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5629" } }, { @@ -1816,7 +1816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5614" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5640" } }, { @@ -1916,7 +1916,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5625" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5651" } }, { @@ -2040,7 +2040,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5636" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5662" } }, { @@ -2164,7 +2164,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5647" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5673" } }, { @@ -2279,7 +2279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5658" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5684" } }, { @@ -2379,7 +2379,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5669" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5695" } }, { @@ -2512,7 +2512,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5680" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5706" } }, { @@ -2636,7 +2636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5691" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5717" } }, { @@ -2760,7 +2760,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5702" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5728" } }, { @@ -2884,7 +2884,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5713" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5739" } }, { @@ -3017,7 +3017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5724" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5750" } }, { @@ -3117,7 +3117,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5735" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5761" } }, { @@ -3157,7 +3157,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5746" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5772" } }, { @@ -3229,7 +3229,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5757" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5783" } }, { @@ -3279,7 +3279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5768" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5794" } }, { @@ -3323,7 +3323,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5779" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5805" } }, { @@ -3364,7 +3364,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5790" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5816" } }, { @@ -3608,7 +3608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5801" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5827" } }, { @@ -3682,7 +3682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5812" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5838" } }, { @@ -3732,7 +3732,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5823" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5849" } }, { @@ -3761,7 +3761,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5834" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5860" } }, { @@ -3790,7 +3790,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5845" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5871" } }, { @@ -3846,7 +3846,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5856" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5882" } }, { @@ -3869,7 +3869,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5867" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5893" } }, { @@ -3929,7 +3929,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5878" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5904" } }, { @@ -3968,7 +3968,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5889" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5915" } }, { @@ -4008,7 +4008,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5900" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5926" } }, { @@ -4081,7 +4081,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5911" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5937" } }, { @@ -4145,7 +4145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5922" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5948" } }, { @@ -4208,7 +4208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5933" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5959" } }, { @@ -4258,7 +4258,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5944" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5970" } }, { @@ -4817,7 +4817,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5955" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5981" } }, { @@ -4858,7 +4858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5966" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5992" } }, { @@ -4899,7 +4899,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5977" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6003" } }, { @@ -4940,7 +4940,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5988" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6014" } }, { @@ -4981,7 +4981,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5999" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6025" } }, { @@ -5022,7 +5022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6010" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6036" } }, { @@ -5053,7 +5053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6021" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6047" } }, { @@ -5103,7 +5103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6032" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6058" } }, { @@ -5144,7 +5144,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6043" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6069" } }, { @@ -5183,7 +5183,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6054" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6080" } }, { @@ -5247,7 +5247,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6065" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6091" } }, { @@ -5305,7 +5305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6076" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6102" } }, { @@ -5752,7 +5752,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6087" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6113" } }, { @@ -5788,7 +5788,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6098" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6124" } }, { @@ -5931,7 +5931,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6109" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6135" } }, { @@ -5987,7 +5987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6120" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6146" } }, { @@ -6026,7 +6026,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6131" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6157" } }, { @@ -6203,7 +6203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6142" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6168" } }, { @@ -6255,7 +6255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6153" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6179" } }, { @@ -6447,7 +6447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6164" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6190" } }, { @@ -6547,7 +6547,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6175" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6201" } }, { @@ -6601,7 +6601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6186" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6212" } }, { @@ -6640,7 +6640,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6197" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6223" } }, { @@ -6725,7 +6725,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6208" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6234" } }, { @@ -6919,7 +6919,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6219" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6245" } }, { @@ -7017,7 +7017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6230" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6256" } }, { @@ -7149,7 +7149,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6241" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6267" } }, { @@ -7203,7 +7203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6252" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6278" } }, { @@ -7237,7 +7237,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6263" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6289" } }, { @@ -7324,7 +7324,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6274" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6300" } }, { @@ -7378,7 +7378,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6285" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6311" } }, { @@ -7478,7 +7478,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6296" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6322" } }, { @@ -7555,7 +7555,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6307" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6333" } }, { @@ -7646,7 +7646,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6318" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6344" } }, { @@ -7685,7 +7685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6329" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6355" } }, { @@ -7801,7 +7801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6340" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6366" } }, { @@ -9901,7 +9901,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6351" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6377" } } ] diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 77c70b69cb0..6e0c472a07e 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -161,7 +161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6439" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6465" } }, { @@ -252,7 +252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6450" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6476" } }, { @@ -420,7 +420,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6461" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6487" } }, { @@ -447,7 +447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6472" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6498" } }, { @@ -597,7 +597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6483" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6509" } }, { @@ -700,7 +700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6494" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6520" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6505" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6531" } }, { @@ -925,7 +925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6516" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6542" } }, { @@ -1135,7 +1135,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6527" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6553" } }, { @@ -1306,7 +1306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6538" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6564" } }, { @@ -3350,7 +3350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6549" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6575" } }, { @@ -3470,7 +3470,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6560" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6586" } }, { @@ -3531,7 +3531,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6571" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6597" } }, { @@ -3569,7 +3569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6582" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6608" } }, { @@ -3729,7 +3729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6593" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6619" } }, { @@ -3913,7 +3913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6604" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6630" } }, { @@ -4054,7 +4054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6615" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6641" } }, { @@ -4107,7 +4107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6626" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6652" } }, { @@ -4250,7 +4250,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6637" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6663" } }, { @@ -4474,7 +4474,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6648" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6674" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6659" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6685" } }, { @@ -4768,7 +4768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6670" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6696" } }, { @@ -4895,7 +4895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6681" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6707" } }, { @@ -4933,7 +4933,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6692" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6718" } }, { @@ -4972,7 +4972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6703" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6729" } }, { @@ -4995,7 +4995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6714" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6740" } }, { @@ -5034,7 +5034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6725" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6751" } }, { @@ -5057,7 +5057,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6736" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6762" } }, { @@ -5096,7 +5096,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6747" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6773" } }, { @@ -5130,7 +5130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6758" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6784" } }, { @@ -5184,7 +5184,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6769" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6795" } }, { @@ -5223,7 +5223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6780" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6806" } }, { @@ -5262,7 +5262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6791" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6817" } }, { @@ -5297,7 +5297,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6802" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6828" } }, { @@ -5477,7 +5477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6813" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6839" } }, { @@ -5506,7 +5506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6824" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6850" } }, { @@ -5529,7 +5529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6835" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6861" } } ] diff --git a/gateway/node.go b/gateway/node.go index 7748510926d..c8795478367 100644 --- a/gateway/node.go +++ b/gateway/node.go @@ -125,8 +125,8 @@ type TargetAPI interface { EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error) - EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) + EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error) diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index 1efba6e7541..dad54181ce7 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -200,6 +200,14 @@ func (gw *Node) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxIn return gw.target.EthGetBlockByNumber(ctx, blkNum, fullTxInfo) } +func (gw *Node) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return gw.target.EthGetTransactionByBlockHashAndIndex(ctx, blkHash, txIndex) +} + +func (gw *Node) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return gw.target.EthGetTransactionByBlockNumberAndIndex(ctx, blkNum, txIndex) +} + func (gw *Node) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error) { return gw.target.EthGetTransactionByHashLimited(ctx, txHash, api.LookbackNoLimit) } diff --git a/itests/fevm_test.go b/itests/fevm_test.go index 93d9bff4fea..b15a1a88c43 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1437,77 +1437,100 @@ func TestEthGetBlockByNumber(t *testing.T) { require.True(t, pendingBlock.Number >= latest) } -func TestEthGetTransactionByBlockHashAndIndex(t *testing.T) { +// ... (previous imports and helper functions remain unchanged) + +func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { ctx, cancel, client := kit.SetupFEVMTest(t) defer cancel() key, ethAddr, filAddr := client.EVM().NewAccount() - // Send some funds to the f410 address kit.SendFunds(ctx, t, client, filAddr, types.FromFil(10)) - // Deploy the Blocktest contract - tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") - client.EVM().SignTransaction(tx, key.PrivateKey) - hash := client.EVM().SubmitTransaction(ctx, tx) + // Deploy multiple contracts in the same tipset + var txHashes []ethtypes.EthHash + var receipts []*api.EthTxReceipt + numTx := 3 - receipt, err := client.EVM().WaitTransaction(ctx, hash) - require.NoError(t, err) - require.NotNil(t, receipt) - require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + for i := 0; i < numTx; i++ { + tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") + tx.Nonce = i + client.EVM().SignTransaction(tx, key.PrivateKey) + hash := client.EVM().SubmitTransaction(ctx, tx) + txHashes = append(txHashes, hash) + } - // Use the block hash from the receipt - blockHash := receipt.BlockHash + // Wait for all transactions to be mined + for _, hash := range txHashes { + receipt, err := client.EVM().WaitTransaction(ctx, hash) + require.NoError(t, err) + require.NotNil(t, receipt) + require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + receipts = append(receipts, receipt) + } + + // Ensure all transactions are in the same tipset + blockHash := receipts[0].BlockHash + blockNumber := receipts[0].BlockNumber + for _, receipt := range receipts[1:] { + require.Equal(t, blockHash, receipt.BlockHash) + require.Equal(t, blockNumber, receipt.BlockNumber) + } // Get the block by its hash block, err := client.EthGetBlockByHash(ctx, blockHash, false) require.NoError(t, err) require.NotNil(t, block) + require.Equal(t, numTx, len(block.Transactions)) - ethTx, err := client.EthGetTransactionByBlockHashAndIndex(ctx, block.Hash, ethtypes.EthUint64(0)) - require.NoError(t, err) - require.NotNil(t, ethTx) - require.Equal(t, hash, ethTx.Hash) -} + // Test EthGetTransactionByBlockHashAndIndex + for i, hash := range txHashes { + ethTx, err := client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(i)) + require.NoError(t, err) + require.NotNil(t, ethTx) + require.Equal(t, hash, ethTx.Hash) + } -func TestEthGetTransactionByBlockNumberAndIndex(t *testing.T) { - ctx, cancel, client := kit.SetupFEVMTest(t) - defer cancel() + // Test EthGetTransactionByBlockNumberAndIndex + for i, hash := range txHashes { + ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber, ethtypes.EthUint64(i)) + require.NoError(t, err) + require.NotNil(t, ethTx) + require.Equal(t, hash, ethTx.Hash) + } - key, ethAddr, filAddr := client.EVM().NewAccount() - // Send some funds to the f410 address - kit.SendFunds(ctx, t, client, filAddr, types.FromFil(10)) + // Test error cases - tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") - client.EVM().SignTransaction(tx, key.PrivateKey) - hash := client.EVM().SubmitTransaction(ctx, tx) + // 1. Invalid block hash + invalidBlockHash := ethtypes.EthHash{1} + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, invalidBlockHash, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "not found") - receipt, err := client.EVM().WaitTransaction(ctx, hash) - require.NoError(t, err) - require.NotNil(t, receipt) - require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + // 2. Invalid block number (future block) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber+1000, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "not found") - blockHash := receipt.BlockHash + // 3. Index out of range + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(numTx)) + require.Error(t, err) + require.ErrorContains(t, err, "index out of range") - // Get the block by its hash - block, err := client.EthGetBlockByHash(ctx, blockHash, false) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber, ethtypes.EthUint64(numTx)) + require.Error(t, err) + require.ErrorContains(t, err, "index out of range") + + // 4. Tipset with no messages + emptyBlock, err := client.EthGetBlockByNumber(ctx, "latest", false) require.NoError(t, err) - require.NotNil(t, block) + require.NotNil(t, emptyBlock) - require.NotNil(t, receipt.BlockNumber) - require.Greater(t, receipt.BlockNumber, ethtypes.EthUint64(0)) + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, emptyBlock.Hash, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "index out of range") - ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, receipt.BlockNumber, ethtypes.EthUint64(0)) - if err != nil { - t.Logf("Error getting transaction: %v", err) - block, blockErr := client.EthGetBlockByNumber(ctx, receipt.BlockNumber.Hex(), false) - if blockErr != nil { - t.Logf("Error getting block: %v", blockErr) - } else { - t.Logf("Block exists, transaction count: %d", len(block.Transactions)) - } - } + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, emptyBlock.Number, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "index out of range") - require.NoError(t, err) - require.NotNil(t, ethTx) - require.Equal(t, hash, ethTx.Hash) } diff --git a/node/impl/full/dummy.go b/node/impl/full/dummy.go index 7902bd89848..be4ae478fcf 100644 --- a/node/impl/full/dummy.go +++ b/node/impl/full/dummy.go @@ -83,12 +83,12 @@ func (e *EthModuleDummy) EthGetTransactionReceiptLimited(ctx context.Context, tx return nil, ErrModuleDisabled } -func (e *EthModuleDummy) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, ErrModuleDisabled +func (e *EthModuleDummy) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrModuleDisabled } -func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (ethtypes.EthTx, error) { - return ethtypes.EthTx{}, ErrModuleDisabled +func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + return nil, ErrModuleDisabled } func (e *EthModuleDummy) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) { diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 272c5f2cd78..a8f9a1409dc 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -571,78 +571,46 @@ func (a *EthModule) EthGetTransactionReceiptLimited(ctx context.Context, txHash return &receipt, nil } -func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { ts, err := a.Chain.GetTipSetByCid(ctx, blkHash.ToCid()) if err != nil { - return ethtypes.EthTx{}, xerrors.Errorf("failed to find tipset for block hash %s: %w", blkHash, err) + return nil, xerrors.Errorf("block not found") } return a.getTransactionByTipsetAndIndex(ctx, ts, index) } -func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (ethtypes.EthTx, error) { +func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { ts, err := getTipsetByBlockNumber(ctx, a.Chain, strconv.FormatUint(uint64(blkNum), 10), false) if err != nil { - return ethtypes.EthTx{}, xerrors.Errorf("failed to get tipset: %w", err) + return nil, xerrors.Errorf("block not found") } return a.getTransactionByTipsetAndIndex(ctx, ts, index) } -func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.TipSet, index ethtypes.EthUint64) (ethtypes.EthTx, error) { + +func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.TipSet, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { msgs, err := a.Chain.MessagesForTipset(ctx, ts) if err != nil { - log.Errorf("Failed to get messages for tipset: %v", err) - return ethtypes.EthTx{}, xerrors.Errorf("failed to get messages for tipset: %w", err) + return nil, xerrors.Errorf("failed to get messages for tipset: %w", err) } if uint64(index) >= uint64(len(msgs)) { - log.Errorf("Transaction index %d out of bounds (total messages: %d)", index, len(msgs)) - return ethtypes.EthTx{}, xerrors.Errorf("transaction index out of bounds") + return nil, xerrors.Errorf("index out of range") } msg := msgs[index] - log.Debugf("Searching for message with CID %s in tipset %s", msg.Cid(), ts.Key()) - - msgLookup, err := a.StateAPI.StateSearchMsg(ctx, ts.Key(), msg.Cid(), 10, false) + cid, err := ts.Key().Cid() if err != nil { - log.Errorf("Failed to search for message: %v", err) - return ethtypes.EthTx{}, xerrors.Errorf("failed to search for message: %w", err) - } - - if msgLookup == nil { - log.Debugf("Message not found in chain, attempting retry") - for i := 0; i < 3; i++ { - time.Sleep(time.Second * 2) - msgLookup, err = a.StateAPI.StateSearchMsg(ctx, ts.Key(), msg.Cid(), 10, false) - if err != nil { - log.Errorf("Retry %d failed to search for message: %v", i+1, err) - continue - } - if msgLookup != nil { - break - } - } - } - - if msgLookup == nil { - log.Debugf("Message not found in chain after retries, returning pending transaction") - pendingTx, err := newEthTxFromSignedMessage(&types.SignedMessage{Message: *msg.VMMessage()}, nil) - if err != nil { - log.Errorf("Failed to create pending Ethereum transaction: %v", err) - return ethtypes.EthTx{}, xerrors.Errorf("failed to create pending Ethereum transaction: %w", err) - } - return pendingTx, nil + return nil, xerrors.Errorf("failed to get tipset key cid: %w", err) } - log.Debugf("Message found in chain: %+v", msgLookup) - - tx, err := newEthTxFromMessageLookup(ctx, msgLookup, -1, a.Chain, a.StateAPI) + tx, err := newEthTx(ctx, a.Chain, nil, ts.Height(), cid, msg.Cid(), int(index)) if err != nil { - log.Errorf("Failed to convert message to Ethereum transaction: %v", err) - return ethtypes.EthTx{}, xerrors.Errorf("failed to convert message to Ethereum transaction: %w", err) + return nil, xerrors.Errorf("failed to create Ethereum transaction: %w", err) } - log.Debugf("Retrieved transaction: %+v", tx) - return tx, nil + + return &tx, nil } func (a *EthModule) EthGetBlockReceipts(ctx context.Context, blockParam ethtypes.EthBlockNumberOrHash) ([]*api.EthTxReceipt, error) { From fca2f8008cc731c8899cf253006829873f6ac81f Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Mon, 21 Oct 2024 13:11:13 +0530 Subject: [PATCH 03/11] return total number of transactions --- node/impl/full/eth.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index a8f9a1409dc..d6de4bdbdbc 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -595,7 +595,7 @@ func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.T } if uint64(index) >= uint64(len(msgs)) { - return nil, xerrors.Errorf("index out of range") + return nil, xerrors.Errorf("index %d out of range: tipset contains %d messages", index, len(msgs)) } msg := msgs[index] From f7d0a2dc1c700c28db4b926ce04dcff1fc128c5c Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Tue, 22 Oct 2024 08:11:04 +0530 Subject: [PATCH 04/11] feat: Update function signatures and update tests --- api/api_full.go | 2 +- api/api_gateway.go | 2 +- api/mocks/mock_full.go | 2 +- api/proxy_gen.go | 12 +++---- build/openrpc/full.json | 10 +++--- build/openrpc/gateway.json | 10 +++--- documentation/en/api-v1-unstable-methods.md | 2 +- gateway/node.go | 2 +- gateway/proxy_eth.go | 2 +- itests/eth_conformance_test.go | 6 ++-- itests/fevm_test.go | 22 +++++------- node/impl/full/dummy.go | 2 +- node/impl/full/eth.go | 40 ++++++++++++++++++--- 13 files changed, 68 insertions(+), 46 deletions(-) diff --git a/api/api_full.go b/api/api_full.go index e6098a9838d..6d1dd064d55 100644 --- a/api/api_full.go +++ b/api/api_full.go @@ -786,7 +786,7 @@ type FullNode interface { EthGetBlockReceiptsLimited(ctx context.Context, blkParam ethtypes.EthBlockNumberOrHash, limit abi.ChainEpoch) ([]*EthTxReceipt, error) //perm:read EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*EthTxReceipt, error) //perm:read EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) //perm:read - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) //perm:read + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) //perm:read EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) //perm:read diff --git a/api/api_gateway.go b/api/api_gateway.go index 17c62aa4a05..179063c1d5a 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -136,7 +136,7 @@ type Gateway interface { EthTraceReplayBlockTransactions(ctx context.Context, blkNum string, traceTypes []string) ([]*ethtypes.EthTraceReplayBlockTransaction, error) EthTraceTransaction(ctx context.Context, txHash string) ([]*ethtypes.EthTraceTransaction, error) EthTraceFilter(ctx context.Context, filter ethtypes.EthTraceFilterCriteria) ([]*ethtypes.EthTraceFilterResult, error) - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (*ethtypes.EthTx, error) + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, index ethtypes.EthUint64) (*ethtypes.EthTx, error) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (*ethtypes.EthTx, error) GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) diff --git a/api/mocks/mock_full.go b/api/mocks/mock_full.go index 46daf4a99fe..9d7e5be0ffa 100644 --- a/api/mocks/mock_full.go +++ b/api/mocks/mock_full.go @@ -886,7 +886,7 @@ func (mr *MockFullNodeMockRecorder) EthGetTransactionByBlockHashAndIndex(arg0, a } // EthGetTransactionByBlockNumberAndIndex mocks base method. -func (m *MockFullNode) EthGetTransactionByBlockNumberAndIndex(arg0 context.Context, arg1, arg2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (m *MockFullNode) EthGetTransactionByBlockNumberAndIndex(arg0 context.Context, arg1 string, arg2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "EthGetTransactionByBlockNumberAndIndex", arg0, arg1, arg2) ret0, _ := ret[0].(*ethtypes.EthTx) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index b4855be9de3..b92f31a369c 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -216,7 +216,7 @@ type FullNodeMethods struct { EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `perm:"read"` - EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `perm:"read"` + EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `perm:"read"` EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `perm:"read"` @@ -682,7 +682,7 @@ type GatewayMethods struct { EthGetTransactionByBlockHashAndIndex func(p0 context.Context, p1 ethtypes.EthHash, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `` - EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `` + EthGetTransactionByBlockNumberAndIndex func(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) `` EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `` @@ -1908,14 +1908,14 @@ func (s *FullNodeStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, return nil, ErrNotSupported } -func (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByBlockNumberAndIndex == nil { return nil, ErrNotSupported } return s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2) } -func (s *FullNodeStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (s *FullNodeStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { return nil, ErrNotSupported } @@ -4405,14 +4405,14 @@ func (s *GatewayStub) EthGetTransactionByBlockHashAndIndex(p0 context.Context, p return nil, ErrNotSupported } -func (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { if s.Internal.EthGetTransactionByBlockNumberAndIndex == nil { return nil, ErrNotSupported } return s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2) } -func (s *GatewayStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (s *GatewayStub) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) { return nil, ErrNotSupported } diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 0f46db1ce9e..5731eb99888 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -4511,22 +4511,20 @@ }, { "name": "Filecoin.EthGetTransactionByBlockNumberAndIndex", - "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", + "description": "```go\nfunc (s *FullNodeStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", "summary": "", "paramStructure": "by-position", "params": [ { "name": "p1", - "description": "ethtypes.EthUint64", + "description": "string", "summary": "", "schema": { - "title": "number", - "description": "Number is a number", "examples": [ - "0x5" + "string value" ], "type": [ - "number" + "string" ] }, "required": true, diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 688790b0d7d..75a584aded2 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -3858,22 +3858,20 @@ }, { "name": "Filecoin.EthGetTransactionByBlockNumberAndIndex", - "description": "```go\nfunc (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 ethtypes.EthUint64, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", + "description": "```go\nfunc (s *GatewayStruct) EthGetTransactionByBlockNumberAndIndex(p0 context.Context, p1 string, p2 ethtypes.EthUint64) (*ethtypes.EthTx, error) {\n\tif s.Internal.EthGetTransactionByBlockNumberAndIndex == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.EthGetTransactionByBlockNumberAndIndex(p0, p1, p2)\n}\n```", "summary": "There are not yet any comments for this method.", "paramStructure": "by-position", "params": [ { "name": "p1", - "description": "ethtypes.EthUint64", + "description": "string", "summary": "", "schema": { - "title": "number", - "description": "Number is a number", "examples": [ - "0x5" + "string value" ], "type": [ - "number" + "string" ] }, "required": true, diff --git a/documentation/en/api-v1-unstable-methods.md b/documentation/en/api-v1-unstable-methods.md index 60c0479b171..131b4344257 100644 --- a/documentation/en/api-v1-unstable-methods.md +++ b/documentation/en/api-v1-unstable-methods.md @@ -1785,7 +1785,7 @@ Perms: read Inputs: ```json [ - "0x5", + "string value", "0x5" ] ``` diff --git a/gateway/node.go b/gateway/node.go index c8795478367..e27e1a4ee26 100644 --- a/gateway/node.go +++ b/gateway/node.go @@ -126,7 +126,7 @@ type TargetAPI interface { EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthUint64, error) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) - EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) + EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBytes, error) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam ethtypes.EthBlockNumberOrHash) (ethtypes.EthBigInt, error) diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index dad54181ce7..2ce41423f82 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -204,7 +204,7 @@ func (gw *Node) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHas return gw.target.EthGetTransactionByBlockHashAndIndex(ctx, blkHash, txIndex) } -func (gw *Node) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (gw *Node) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { return gw.target.EthGetTransactionByBlockNumberAndIndex(ctx, blkNum, txIndex) } diff --git a/itests/eth_conformance_test.go b/itests/eth_conformance_test.go index aacd307470d..946db65ada4 100644 --- a/itests/eth_conformance_test.go +++ b/itests/eth_conformance_test.go @@ -49,7 +49,7 @@ type ethAPIRaw struct { EthGetLogs func(context.Context, *ethtypes.EthFilterSpec) (json.RawMessage, error) EthGetStorageAt func(context.Context, ethtypes.EthAddress, ethtypes.EthBytes, ethtypes.EthBlockNumberOrHash) (json.RawMessage, error) EthGetTransactionByBlockHashAndIndex func(context.Context, ethtypes.EthHash, ethtypes.EthUint64) (json.RawMessage, error) - EthGetTransactionByBlockNumberAndIndex func(context.Context, ethtypes.EthUint64, ethtypes.EthUint64) (json.RawMessage, error) + EthGetTransactionByBlockNumberAndIndex func(context.Context, string, ethtypes.EthUint64) (json.RawMessage, error) EthGetTransactionByHash func(context.Context, *ethtypes.EthHash) (json.RawMessage, error) EthGetTransactionCount func(context.Context, ethtypes.EthAddress, ethtypes.EthBlockNumberOrHash) (json.RawMessage, error) EthGetTransactionReceipt func(context.Context, ethtypes.EthHash) (json.RawMessage, error) @@ -322,15 +322,13 @@ func TestEthOpenRPCConformance(t *testing.T) { call: func(a *ethAPIRaw) (json.RawMessage, error) { return ethapi.EthGetTransactionByBlockHashAndIndex(context.Background(), blockHashWithMessage, ethtypes.EthUint64(0)) }, - skipReason: "unimplemented", }, { method: "eth_getTransactionByBlockNumberAndIndex", call: func(a *ethAPIRaw) (json.RawMessage, error) { - return ethapi.EthGetTransactionByBlockNumberAndIndex(context.Background(), blockNumberWithMessage, ethtypes.EthUint64(0)) + return ethapi.EthGetTransactionByBlockNumberAndIndex(context.Background(), blockNumberWithMessage.Hex(), ethtypes.EthUint64(0)) }, - skipReason: "unimplemented", }, { diff --git a/itests/fevm_test.go b/itests/fevm_test.go index b15a1a88c43..57b3da2314e 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1437,8 +1437,6 @@ func TestEthGetBlockByNumber(t *testing.T) { require.True(t, pendingBlock.Number >= latest) } -// ... (previous imports and helper functions remain unchanged) - func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { ctx, cancel, client := kit.SetupFEVMTest(t) defer cancel() @@ -1492,14 +1490,12 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { // Test EthGetTransactionByBlockNumberAndIndex for i, hash := range txHashes { - ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber, ethtypes.EthUint64(i)) + ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(i)) require.NoError(t, err) require.NotNil(t, ethTx) require.Equal(t, hash, ethTx.Hash) } - // Test error cases - // 1. Invalid block hash invalidBlockHash := ethtypes.EthHash{1} _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, invalidBlockHash, ethtypes.EthUint64(0)) @@ -1507,18 +1503,18 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { require.ErrorContains(t, err, "not found") // 2. Invalid block number (future block) - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber+1000, ethtypes.EthUint64(0)) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumber + 1000).Hex(), ethtypes.EthUint64(0)) require.Error(t, err) - require.ErrorContains(t, err, "not found") + require.ErrorContains(t, err, "failed to get tipset") // 3. Index out of range _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(numTx)) require.Error(t, err) - require.ErrorContains(t, err, "index out of range") + require.ErrorContains(t, err, "out of range") - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber, ethtypes.EthUint64(numTx)) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(numTx)) require.Error(t, err) - require.ErrorContains(t, err, "index out of range") + require.ErrorContains(t, err, "out of range") // 4. Tipset with no messages emptyBlock, err := client.EthGetBlockByNumber(ctx, "latest", false) @@ -1527,10 +1523,10 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, emptyBlock.Hash, ethtypes.EthUint64(0)) require.Error(t, err) - require.ErrorContains(t, err, "index out of range") + require.ErrorContains(t, err, "out of range") - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, emptyBlock.Number, ethtypes.EthUint64(0)) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, "latest", ethtypes.EthUint64(0)) require.Error(t, err) - require.ErrorContains(t, err, "index out of range") + require.ErrorContains(t, err, "out of range") } diff --git a/node/impl/full/dummy.go b/node/impl/full/dummy.go index be4ae478fcf..81c89aa3da0 100644 --- a/node/impl/full/dummy.go +++ b/node/impl/full/dummy.go @@ -87,7 +87,7 @@ func (e *EthModuleDummy) EthGetTransactionByBlockHashAndIndex(ctx context.Contex return nil, ErrModuleDisabled } -func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { +func (e *EthModuleDummy) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { return nil, ErrModuleDisabled } diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index d6de4bdbdbc..6ebc0e1b171 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -580,12 +580,44 @@ func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHa return a.getTransactionByTipsetAndIndex(ctx, ts, index) } -func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum ethtypes.EthUint64, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { - ts, err := getTipsetByBlockNumber(ctx, a.Chain, strconv.FormatUint(uint64(blkNum), 10), false) +func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkParam string, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { + validBlockTags := map[string]bool{ + "latest": true, + "pending": true, + "earliest": true, + "final": true, + } + + var blockNumber string + + if validBlockTags[blkParam] { + blockNumber = blkParam + } else { + blkNum, err := ethtypes.EthUint64FromHex(blkParam) + if err != nil { + return nil, fmt.Errorf("invalid block number format: %w", err) + } + blockNumber = strconv.FormatUint(uint64(blkNum), 10) + } + + ts, err := getTipsetByBlockNumber(ctx, a.Chain, blockNumber, true) if err != nil { - return nil, xerrors.Errorf("block not found") + if err == ErrNullRound { + return nil, nil + } + return nil, fmt.Errorf("failed to get tipset for block %s: %w", blockNumber, err) } - return a.getTransactionByTipsetAndIndex(ctx, ts, index) + + if ts == nil { + return nil, fmt.Errorf("tipset not found for block %s", blockNumber) + } + + tx, err := a.getTransactionByTipsetAndIndex(ctx, ts, index) + if err != nil { + return nil, fmt.Errorf("failed to get transaction at index %d: %w", index, err) + } + + return tx, nil } func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.TipSet, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { From 70e16010afc37d4ccdcee7cdc31955974e7e081b Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Tue, 22 Oct 2024 08:15:20 +0530 Subject: [PATCH 05/11] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d12f32df9fb..ee774d36899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - `lotus chain head` now supports a `--height` flag to print just the epoch number of the current chain head ([filecoin-project/lotus#12609](https://github.com/filecoin-project/lotus/pull/12609)) - `lotus-shed indexes inspect-indexes` now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously `inspect-indexes` simply compared event counts, comparing AMT roots confirms all the event data is byte-perfect. ([filecoin-project/lotus#12570](https://github.com/filecoin-project/lotus/pull/12570)) - Expose APIs to list the miner IDs that are currently participating in F3 via node. ([filecoin-project/lotus#12608](https://github.com/filecoin-project/lotus/pull/12608)) +- Implement `EthGetTransactionByBlockNumberAndIndex` and `EthGetTransactionByBlockHashAndIndex` methods. ([filecoin-project/lotus#12618](https://github.com/filecoin-project/lotus/pull/12618)) ## Bug Fixes - Fix a bug in the `lotus-shed indexes backfill-events` command that may result in either duplicate events being backfilled where there are existing events (such an operation *should* be idempotent) or events erroneously having duplicate `logIndex` values when queried via ETH APIs. ([filecoin-project/lotus#12567](https://github.com/filecoin-project/lotus/pull/12567)) From 720f92dd610e610c658c3b51e1bce6134070deb4 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Tue, 22 Oct 2024 08:21:24 +0530 Subject: [PATCH 06/11] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f5a21eaf2..48245713f2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,6 @@ - Implement `EthGetTransactionByBlockNumberAndIndex` and `EthGetTransactionByBlockHashAndIndex` methods. ([filecoin-project/lotus#12618](https://github.com/filecoin-project/lotus/pull/12618)) - Implement new `lotus f3` CLI commands to list F3 participants, dump manifest and check the F3 status. ([filecoin-project/lotus#12617](https://github.com/filecoin-project/lotus/pull/12617)) - ## Bug Fixes - Fix a bug in the `lotus-shed indexes backfill-events` command that may result in either duplicate events being backfilled where there are existing events (such an operation *should* be idempotent) or events erroneously having duplicate `logIndex` values when queried via ETH APIs. ([filecoin-project/lotus#12567](https://github.com/filecoin-project/lotus/pull/12567)) - Event APIs (Eth events and actor events) should only return reverted events if client queries by specific block hash / tipset. Eth and actor event subscription APIs should always return reverted events to enable accurate observation of real-time changes. ([filecoin-project/lotus#12585](https://github.com/filecoin-project/lotus/pull/12585)) From 9ba962427362cfe75c61ff4df5151883663da7c9 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Tue, 22 Oct 2024 08:36:37 +0530 Subject: [PATCH 07/11] update proxy_eth.go for ratelimit and lookback limit --- CHANGELOG.md | 2 +- gateway/proxy_eth.go | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48245713f2c..9cb2f6cb842 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ - `lotus chain head` now supports a `--height` flag to print just the epoch number of the current chain head ([filecoin-project/lotus#12609](https://github.com/filecoin-project/lotus/pull/12609)) - `lotus-shed indexes inspect-indexes` now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously `inspect-indexes` simply compared event counts, comparing AMT roots confirms all the event data is byte-perfect. ([filecoin-project/lotus#12570](https://github.com/filecoin-project/lotus/pull/12570)) - Expose APIs to list the miner IDs that are currently participating in F3 via node. ([filecoin-project/lotus#12608](https://github.com/filecoin-project/lotus/pull/12608)) -- Implement `EthGetTransactionByBlockNumberAndIndex` and `EthGetTransactionByBlockHashAndIndex` methods. ([filecoin-project/lotus#12618](https://github.com/filecoin-project/lotus/pull/12618)) +- Implement `EthGetTransactionByBlockNumberAndIndex` (`eth_getTransactionByBlockNumberAndIndex`) and `EthGetTransactionByBlockHashAndIndex` (`eth_getTransactionByBlockHashAndIndex`) methods. ([filecoin-project/lotus#12618](https://github.com/filecoin-project/lotus/pull/12618)) - Implement new `lotus f3` CLI commands to list F3 participants, dump manifest and check the F3 status. ([filecoin-project/lotus#12617](https://github.com/filecoin-project/lotus/pull/12617)) ## Bug Fixes diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index 2ce41423f82..8b751f53afb 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -201,10 +201,26 @@ func (gw *Node) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxIn } func (gw *Node) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + if err := gw.limit(ctx, chainRateLimitTokens); err != nil { + return nil, err + } + + if err := gw.checkBlkHash(ctx, blkHash); err != nil { + return nil, err + } + return gw.target.EthGetTransactionByBlockHashAndIndex(ctx, blkHash, txIndex) } func (gw *Node) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkNum string, txIndex ethtypes.EthUint64) (*ethtypes.EthTx, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + + if err := gw.checkBlkParam(ctx, blkNum, 0); err != nil { + return nil, err + } + return gw.target.EthGetTransactionByBlockNumberAndIndex(ctx, blkNum, txIndex) } From 8beafcd4ca593e84db7f3badd0114948bc1967d7 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Tue, 22 Oct 2024 17:43:12 +0530 Subject: [PATCH 08/11] update --- itests/fevm_test.go | 138 ++++++++++++++++++++++-------------------- node/impl/full/eth.go | 35 ++++------- 2 files changed, 85 insertions(+), 88 deletions(-) diff --git a/itests/fevm_test.go b/itests/fevm_test.go index 57b3da2314e..de81f056f1c 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1441,92 +1441,102 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { ctx, cancel, client := kit.SetupFEVMTest(t) defer cancel() - key, ethAddr, filAddr := client.EVM().NewAccount() - kit.SendFunds(ctx, t, client, filAddr, types.FromFil(10)) + ethKey, ethAddr, ethFilAddr := client.EVM().NewAccount() + filKey, err := client.WalletNew(ctx, types.KTBLS) + require.NoError(t, err) + secpKey, err := client.WalletNew(ctx, types.KTSecp256k1) + require.NoError(t, err) + + kit.SendFunds(ctx, t, client, ethFilAddr, types.FromFil(10)) + kit.SendFunds(ctx, t, client, filKey, types.FromFil(10)) + kit.SendFunds(ctx, t, client, secpKey, types.FromFil(10)) - // Deploy multiple contracts in the same tipset var txHashes []ethtypes.EthHash var receipts []*api.EthTxReceipt numTx := 3 for i := 0; i < numTx; i++ { - tx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") - tx.Nonce = i - client.EVM().SignTransaction(tx, key.PrivateKey) - hash := client.EVM().SubmitTransaction(ctx, tx) - txHashes = append(txHashes, hash) - } + ethTx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") + ethTx.Nonce = i + client.EVM().SignTransaction(ethTx, ethKey.PrivateKey) + ethHash := client.EVM().SubmitTransaction(ctx, ethTx) - // Wait for all transactions to be mined - for _, hash := range txHashes { - receipt, err := client.EVM().WaitTransaction(ctx, hash) - require.NoError(t, err) + receipt, err := client.EVM().WaitTransaction(ctx, ethHash) + require.NoError(t, err, "ETH transaction failed to mine") require.NotNil(t, receipt) require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + + txHashes = append(txHashes, ethHash) receipts = append(receipts, receipt) } - // Ensure all transactions are in the same tipset - blockHash := receipts[0].BlockHash - blockNumber := receipts[0].BlockNumber - for _, receipt := range receipts[1:] { - require.Equal(t, blockHash, receipt.BlockHash) - require.Equal(t, blockNumber, receipt.BlockNumber) + require.NotEmpty(t, receipts, "No ETH transactions were mined") + var blockHashes []ethtypes.EthHash + var blockNumbers []ethtypes.EthUint64 + for _, receipt := range receipts { + blockHashes = append(blockHashes, receipt.BlockHash) + blockNumbers = append(blockNumbers, receipt.BlockNumber) } - // Get the block by its hash - block, err := client.EthGetBlockByHash(ctx, blockHash, false) - require.NoError(t, err) - require.NotNil(t, block) - require.Equal(t, numTx, len(block.Transactions)) - - // Test EthGetTransactionByBlockHashAndIndex - for i, hash := range txHashes { - ethTx, err := client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(i)) + for _, hash := range txHashes { + var ethTx *ethtypes.EthTx + var err error + for _, blockHash := range blockHashes { + ethTx, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(0)) + if err == nil && ethTx != nil && ethTx.Hash == hash { + break + } + } require.NoError(t, err) require.NotNil(t, ethTx) - require.Equal(t, hash, ethTx.Hash) + + require.Equal(t, hash.String(), ethTx.Hash.String()) + + require.Equal(t, ethtypes.EthUint64(2), ethTx.Type) + require.NotEmpty(t, ethTx.Input, "Contract deployment should have input data") + require.Equal(t, ethAddr.String(), ethTx.From.String()) } - // Test EthGetTransactionByBlockNumberAndIndex - for i, hash := range txHashes { - ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(i)) + for _, hash := range txHashes { + var ethTx *ethtypes.EthTx + var err error + for _, blockNumber := range blockNumbers { + ethTx, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(0)) + if err == nil && ethTx != nil && ethTx.Hash == hash { + break + } + } require.NoError(t, err) require.NotNil(t, ethTx) - require.Equal(t, hash, ethTx.Hash) + require.Equal(t, hash.String(), ethTx.Hash.String()) } - // 1. Invalid block hash - invalidBlockHash := ethtypes.EthHash{1} - _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, invalidBlockHash, ethtypes.EthUint64(0)) - require.Error(t, err) - require.ErrorContains(t, err, "not found") - - // 2. Invalid block number (future block) - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumber + 1000).Hex(), ethtypes.EthUint64(0)) - require.Error(t, err) - require.ErrorContains(t, err, "failed to get tipset") - - // 3. Index out of range - _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(numTx)) - require.Error(t, err) - require.ErrorContains(t, err, "out of range") - - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(numTx)) - require.Error(t, err) - require.ErrorContains(t, err, "out of range") - - // 4. Tipset with no messages - emptyBlock, err := client.EthGetBlockByNumber(ctx, "latest", false) - require.NoError(t, err) - require.NotNil(t, emptyBlock) - - _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, emptyBlock.Hash, ethtypes.EthUint64(0)) - require.Error(t, err) - require.ErrorContains(t, err, "out of range") + t.Run("Error cases", func(t *testing.T) { + // 1. Invalid block hash + invalidBlockHash := ethtypes.EthHash{1} + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, invalidBlockHash, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "not found") + + // 2. Invalid block number + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumbers[0] + 1000).Hex(), ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "failed to get tipset") + + // 3. Index out of range + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHashes[0], ethtypes.EthUint64(len(txHashes))) + require.Error(t, err) + require.ErrorContains(t, err, "out of range") + + // 4. Empty block + emptyBlock, err := client.EthGetBlockByNumber(ctx, "latest", false) + require.NoError(t, err) + require.NotNil(t, emptyBlock) - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, "latest", ethtypes.EthUint64(0)) - require.Error(t, err) - require.ErrorContains(t, err, "out of range") + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, emptyBlock.Hash, ethtypes.EthUint64(0)) + require.Error(t, err) + require.ErrorContains(t, err, "out of range") + }) + require.Greater(t, len(txHashes), 0, "No transactions were successfully verified") } diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 6ebc0e1b171..b2c9012b75f 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -175,7 +175,6 @@ type EthAPI struct { EthModuleAPI EthEventAPI - StateAPI StateAPI } var ErrNullRound = errors.New("requested epoch was a null round") @@ -581,40 +580,22 @@ func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHa } func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkParam string, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { - validBlockTags := map[string]bool{ - "latest": true, - "pending": true, - "earliest": true, - "final": true, - } - - var blockNumber string - - if validBlockTags[blkParam] { - blockNumber = blkParam - } else { - blkNum, err := ethtypes.EthUint64FromHex(blkParam) - if err != nil { - return nil, fmt.Errorf("invalid block number format: %w", err) - } - blockNumber = strconv.FormatUint(uint64(blkNum), 10) - } - ts, err := getTipsetByBlockNumber(ctx, a.Chain, blockNumber, true) + ts, err := getTipsetByBlockNumber(ctx, a.Chain, blkParam, true) if err != nil { if err == ErrNullRound { return nil, nil } - return nil, fmt.Errorf("failed to get tipset for block %s: %w", blockNumber, err) + return nil, xerrors.Errorf("failed to get tipset for block %s: %w", blkParam, err) } if ts == nil { - return nil, fmt.Errorf("tipset not found for block %s", blockNumber) + return nil, xerrors.Errorf("tipset not found for block %s", blkParam) } tx, err := a.getTransactionByTipsetAndIndex(ctx, ts, index) if err != nil { - return nil, fmt.Errorf("failed to get transaction at index %d: %w", index, err) + return nil, xerrors.Errorf("failed to get transaction at index %d: %w", index, err) } return tx, nil @@ -637,7 +618,13 @@ func (a *EthAPI) getTransactionByTipsetAndIndex(ctx context.Context, ts *types.T return nil, xerrors.Errorf("failed to get tipset key cid: %w", err) } - tx, err := newEthTx(ctx, a.Chain, nil, ts.Height(), cid, msg.Cid(), int(index)) + // First, get the state tree + st, err := a.StateManager.StateTree(ts.ParentState()) + if err != nil { + return nil, xerrors.Errorf("failed to load state tree: %w", err) + } + + tx, err := newEthTx(ctx, a.Chain, st, ts.Height(), cid, msg.Cid(), int(index)) if err != nil { return nil, xerrors.Errorf("failed to create Ethereum transaction: %w", err) } From e0507c2a55275eea993e63f6fb08f32243a5f6ab Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Wed, 23 Oct 2024 10:46:57 +0530 Subject: [PATCH 09/11] updaet fevm_test.go --- itests/fevm_test.go | 114 +++++++++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 48 deletions(-) diff --git a/itests/fevm_test.go b/itests/fevm_test.go index de81f056f1c..30177f66aac 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1442,73 +1442,92 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { defer cancel() ethKey, ethAddr, ethFilAddr := client.EVM().NewAccount() - filKey, err := client.WalletNew(ctx, types.KTBLS) - require.NoError(t, err) - secpKey, err := client.WalletNew(ctx, types.KTSecp256k1) - require.NoError(t, err) - kit.SendFunds(ctx, t, client, ethFilAddr, types.FromFil(10)) - kit.SendFunds(ctx, t, client, filKey, types.FromFil(10)) - kit.SendFunds(ctx, t, client, secpKey, types.FromFil(10)) var txHashes []ethtypes.EthHash var receipts []*api.EthTxReceipt numTx := 3 - for i := 0; i < numTx; i++ { - ethTx := deployContractWithEth(ctx, t, client, ethAddr, "./contracts/MultipleEvents.hex") - ethTx.Nonce = i - client.EVM().SignTransaction(ethTx, ethKey.PrivateKey) - ethHash := client.EVM().SubmitTransaction(ctx, ethTx) + contractHex, err := os.ReadFile("./contracts/MultipleEvents.hex") + require.NoError(t, err) + contract, err := hex.DecodeString(string(contractHex)) + require.NoError(t, err) - receipt, err := client.EVM().WaitTransaction(ctx, ethHash) - require.NoError(t, err, "ETH transaction failed to mine") - require.NotNil(t, receipt) - require.Equal(t, ethtypes.EthUint64(1), receipt.Status) + gasParams, err := json.Marshal(ethtypes.EthEstimateGasParams{Tx: ethtypes.EthCall{ + From: ðAddr, + Data: contract, + }}) + require.NoError(t, err) + gaslimit, err := client.EthEstimateGas(ctx, gasParams) + require.NoError(t, err) - txHashes = append(txHashes, ethHash) - receipts = append(receipts, receipt) - } + maxPriorityFeePerGas, err := client.EthMaxPriorityFeePerGas(ctx) + require.NoError(t, err) - require.NotEmpty(t, receipts, "No ETH transactions were mined") - var blockHashes []ethtypes.EthHash - var blockNumbers []ethtypes.EthUint64 - for _, receipt := range receipts { - blockHashes = append(blockHashes, receipt.BlockHash) - blockNumbers = append(blockNumbers, receipt.BlockNumber) - } + for { + txHashes = nil + receipts = nil + nonce, err := client.MpoolGetNonce(ctx, ethFilAddr) + require.NoError(t, err) + + for i := 0; i < numTx; i++ { + tx := ðtypes.Eth1559TxArgs{ + ChainID: buildconstants.Eip155ChainId, + Value: big.Zero(), + Nonce: int(nonce) + i, + MaxFeePerGas: types.NanoFil, + MaxPriorityFeePerGas: big.Int(maxPriorityFeePerGas), + GasLimit: int(gaslimit), + Input: contract, + V: big.Zero(), + R: big.Zero(), + S: big.Zero(), + } + client.EVM().SignTransaction(tx, ethKey.PrivateKey) + hash := client.EVM().SubmitTransaction(ctx, tx) + txHashes = append(txHashes, hash) + } + + for _, hash := range txHashes { + receipt, err := client.EVM().WaitTransaction(ctx, hash) + require.NoError(t, err) + require.NotNil(t, receipt) + receipts = append(receipts, receipt) + } - for _, hash := range txHashes { - var ethTx *ethtypes.EthTx - var err error - for _, blockHash := range blockHashes { - ethTx, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(0)) - if err == nil && ethTx != nil && ethTx.Hash == hash { + allInSameTipset := true + for i := 1; i < len(receipts); i++ { + if receipts[i].BlockHash != receipts[0].BlockHash { + allInSameTipset = false break } } - require.NoError(t, err) - require.NotNil(t, ethTx) - require.Equal(t, hash.String(), ethTx.Hash.String()) + if allInSameTipset { + break + } + } + + require.NotEmpty(t, receipts, "No transactions were mined") + blockHash := receipts[0].BlockHash + blockNumber := receipts[0].BlockNumber + for _, receipt := range receipts { + t.Logf("transaction index: %d", receipt.TransactionIndex) + ethTx, err := client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, receipt.TransactionIndex) + require.NoError(t, err) + require.NotNil(t, ethTx) + require.Equal(t, receipt.TransactionHash.String(), ethTx.Hash.String()) require.Equal(t, ethtypes.EthUint64(2), ethTx.Type) require.NotEmpty(t, ethTx.Input, "Contract deployment should have input data") require.Equal(t, ethAddr.String(), ethTx.From.String()) } - for _, hash := range txHashes { - var ethTx *ethtypes.EthTx - var err error - for _, blockNumber := range blockNumbers { - ethTx, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), ethtypes.EthUint64(0)) - if err == nil && ethTx != nil && ethTx.Hash == hash { - break - } - } + for _, receipt := range receipts { + ethTx, err := client.EthGetTransactionByBlockNumberAndIndex(ctx, blockNumber.Hex(), receipt.TransactionIndex) require.NoError(t, err) require.NotNil(t, ethTx) - require.Equal(t, hash.String(), ethTx.Hash.String()) + require.Equal(t, receipt.TransactionHash.String(), ethTx.Hash.String()) } t.Run("Error cases", func(t *testing.T) { @@ -1519,12 +1538,12 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { require.ErrorContains(t, err, "not found") // 2. Invalid block number - _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumbers[0] + 1000).Hex(), ethtypes.EthUint64(0)) + _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumber + 1000).Hex(), ethtypes.EthUint64(0)) require.Error(t, err) require.ErrorContains(t, err, "failed to get tipset") // 3. Index out of range - _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHashes[0], ethtypes.EthUint64(len(txHashes))) + _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, blockHash, ethtypes.EthUint64(100)) require.Error(t, err) require.ErrorContains(t, err, "out of range") @@ -1538,5 +1557,4 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { require.ErrorContains(t, err, "out of range") }) - require.Greater(t, len(txHashes), 0, "No transactions were successfully verified") } From 72654c9478e51d502586020db43683fc2b854d6c Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Thu, 24 Oct 2024 09:38:03 +0530 Subject: [PATCH 10/11] address changes --- itests/fevm_test.go | 3 ++- node/impl/full/eth.go | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/itests/fevm_test.go b/itests/fevm_test.go index 30177f66aac..f2c7945d5af 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -1506,6 +1506,7 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { if allInSameTipset { break } + t.Logf("Retrying because transactions didn't land in the same tipset") } require.NotEmpty(t, receipts, "No transactions were mined") @@ -1535,7 +1536,7 @@ func TestEthGetTransactionByBlockHashAndIndexAndNumber(t *testing.T) { invalidBlockHash := ethtypes.EthHash{1} _, err = client.EthGetTransactionByBlockHashAndIndex(ctx, invalidBlockHash, ethtypes.EthUint64(0)) require.Error(t, err) - require.ErrorContains(t, err, "not found") + require.ErrorContains(t, err, "failed to get tipset by cid") // 2. Invalid block number _, err = client.EthGetTransactionByBlockNumberAndIndex(ctx, (blockNumber + 1000).Hex(), ethtypes.EthUint64(0)) diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index b2c9012b75f..e34ac5b16bd 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -573,18 +573,20 @@ func (a *EthModule) EthGetTransactionReceiptLimited(ctx context.Context, txHash func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { ts, err := a.Chain.GetTipSetByCid(ctx, blkHash.ToCid()) if err != nil { - return nil, xerrors.Errorf("block not found") + if err == ErrNullRound { + return nil, xerrors.Errorf("block hash %s was a null round", blkHash) + } + return nil, xerrors.Errorf("failed to get tipset by cid: %w", err) } return a.getTransactionByTipsetAndIndex(ctx, ts, index) } func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkParam string, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { - ts, err := getTipsetByBlockNumber(ctx, a.Chain, blkParam, true) if err != nil { if err == ErrNullRound { - return nil, nil + return nil, xerrors.Errorf("block number %s was a null round", blkParam) } return nil, xerrors.Errorf("failed to get tipset for block %s: %w", blkParam, err) } From 35374f31a11f7479b132697b77630fded4fee458 Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Thu, 24 Oct 2024 17:43:27 +0530 Subject: [PATCH 11/11] remove null round checks --- node/impl/full/eth.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index e34ac5b16bd..73cebd0a997 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -573,9 +573,6 @@ func (a *EthModule) EthGetTransactionReceiptLimited(ctx context.Context, txHash func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHash ethtypes.EthHash, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { ts, err := a.Chain.GetTipSetByCid(ctx, blkHash.ToCid()) if err != nil { - if err == ErrNullRound { - return nil, xerrors.Errorf("block hash %s was a null round", blkHash) - } return nil, xerrors.Errorf("failed to get tipset by cid: %w", err) } @@ -585,9 +582,6 @@ func (a *EthAPI) EthGetTransactionByBlockHashAndIndex(ctx context.Context, blkHa func (a *EthAPI) EthGetTransactionByBlockNumberAndIndex(ctx context.Context, blkParam string, index ethtypes.EthUint64) (*ethtypes.EthTx, error) { ts, err := getTipsetByBlockNumber(ctx, a.Chain, blkParam, true) if err != nil { - if err == ErrNullRound { - return nil, xerrors.Errorf("block number %s was a null round", blkParam) - } return nil, xerrors.Errorf("failed to get tipset for block %s: %w", blkParam, err) }