From bcc8b9d02f40ecd6b42c7627af957e2ee3bc614f Mon Sep 17 00:00:00 2001 From: LexLuthr Date: Fri, 18 Aug 2023 11:28:01 +0400 Subject: [PATCH] add allocation and claim APIs --- api/api_gateway.go | 6 ++++ api/proxy_gen.go | 65 ++++++++++++++++++++++++++++++++++ api/v0api/gateway.go | 6 ++++ api/v0api/proxy_gen.go | 65 ++++++++++++++++++++++++++++++++++ build/openrpc/full.json.gz | Bin 33990 -> 33996 bytes build/openrpc/gateway.json.gz | Bin 10425 -> 11395 bytes build/openrpc/miner.json.gz | Bin 15939 -> 15944 bytes build/openrpc/worker.json.gz | Bin 5246 -> 5244 bytes gateway/node.go | 6 ++++ gateway/proxy_fil.go | 51 ++++++++++++++++++++++++++ 10 files changed, 199 insertions(+) diff --git a/api/api_gateway.go b/api/api_gateway.go index f6740e1e0..61cb48146 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -10,6 +10,7 @@ import ( "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/builtin/v9/miner" + verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" "github.com/filecoin-project/go-state-types/dline" apitypes "github.com/filecoin-project/lotus/api/types" @@ -65,6 +66,11 @@ type Gateway interface { StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (DealCollateralBounds, error) StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) + StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) + StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) + StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) StateReadState(ctx context.Context, actor address.Address, tsk types.TipSetKey) (*ActorState, error) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index ce4ec3d1e..953bc828a 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -766,6 +766,16 @@ type GatewayMethods struct { StateGetActor func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (*types.Actor, error) `` + StateGetAllocation func(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) `` + + StateGetAllocationForPendingDeal func(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) `` + + StateGetAllocations func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) `` + + StateGetClaim func(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) `` + + StateGetClaims func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) `` + StateListMiners func(p0 context.Context, p1 types.TipSetKey) ([]address.Address, error) `` StateLookupID func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (address.Address, error) `` @@ -4852,6 +4862,61 @@ func (s *GatewayStub) StateGetActor(p0 context.Context, p1 address.Address, p2 t return nil, ErrNotSupported } +func (s *GatewayStruct) StateGetAllocation(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocation == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetAllocation(p0, p1, p2, p3) +} + +func (s *GatewayStub) StateGetAllocation(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetAllocationForPendingDeal(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocationForPendingDeal == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetAllocationForPendingDeal(p0, p1, p2) +} + +func (s *GatewayStub) StateGetAllocationForPendingDeal(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetAllocations(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocations == nil { + return *new(map[verifregtypes.AllocationId]verifregtypes.Allocation), ErrNotSupported + } + return s.Internal.StateGetAllocations(p0, p1, p2) +} + +func (s *GatewayStub) StateGetAllocations(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) { + return *new(map[verifregtypes.AllocationId]verifregtypes.Allocation), ErrNotSupported +} + +func (s *GatewayStruct) StateGetClaim(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) { + if s.Internal.StateGetClaim == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetClaim(p0, p1, p2, p3) +} + +func (s *GatewayStub) StateGetClaim(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetClaims(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) { + if s.Internal.StateGetClaims == nil { + return *new(map[verifregtypes.ClaimId]verifregtypes.Claim), ErrNotSupported + } + return s.Internal.StateGetClaims(p0, p1, p2) +} + +func (s *GatewayStub) StateGetClaims(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) { + return *new(map[verifregtypes.ClaimId]verifregtypes.Claim), ErrNotSupported +} + func (s *GatewayStruct) StateListMiners(p0 context.Context, p1 types.TipSetKey) ([]address.Address, error) { if s.Internal.StateListMiners == nil { return *new([]address.Address), ErrNotSupported diff --git a/api/v0api/gateway.go b/api/v0api/gateway.go index 9f6c54fa9..df9153b8d 100644 --- a/api/v0api/gateway.go +++ b/api/v0api/gateway.go @@ -9,6 +9,7 @@ import ( "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/builtin/v9/miner" + verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" "github.com/filecoin-project/go-state-types/dline" abinetwork "github.com/filecoin-project/go-state-types/network" @@ -61,6 +62,11 @@ type Gateway interface { StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error) StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) + StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) + StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) + StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) StateGetReceipt(context.Context, cid.Cid, types.TipSetKey) (*types.MessageReceipt, error) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) diff --git a/api/v0api/proxy_gen.go b/api/v0api/proxy_gen.go index 29f6f6773..22faa3acc 100644 --- a/api/v0api/proxy_gen.go +++ b/api/v0api/proxy_gen.go @@ -479,6 +479,16 @@ type GatewayMethods struct { StateGetActor func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (*types.Actor, error) `` + StateGetAllocation func(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) `` + + StateGetAllocationForPendingDeal func(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) `` + + StateGetAllocations func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) `` + + StateGetClaim func(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) `` + + StateGetClaims func(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) `` + StateGetReceipt func(p0 context.Context, p1 cid.Cid, p2 types.TipSetKey) (*types.MessageReceipt, error) `` StateListMiners func(p0 context.Context, p1 types.TipSetKey) ([]address.Address, error) `` @@ -2851,6 +2861,61 @@ func (s *GatewayStub) StateGetActor(p0 context.Context, p1 address.Address, p2 t return nil, ErrNotSupported } +func (s *GatewayStruct) StateGetAllocation(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocation == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetAllocation(p0, p1, p2, p3) +} + +func (s *GatewayStub) StateGetAllocation(p0 context.Context, p1 address.Address, p2 verifregtypes.AllocationId, p3 types.TipSetKey) (*verifregtypes.Allocation, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetAllocationForPendingDeal(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocationForPendingDeal == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetAllocationForPendingDeal(p0, p1, p2) +} + +func (s *GatewayStub) StateGetAllocationForPendingDeal(p0 context.Context, p1 abi.DealID, p2 types.TipSetKey) (*verifregtypes.Allocation, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetAllocations(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) { + if s.Internal.StateGetAllocations == nil { + return *new(map[verifregtypes.AllocationId]verifregtypes.Allocation), ErrNotSupported + } + return s.Internal.StateGetAllocations(p0, p1, p2) +} + +func (s *GatewayStub) StateGetAllocations(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) { + return *new(map[verifregtypes.AllocationId]verifregtypes.Allocation), ErrNotSupported +} + +func (s *GatewayStruct) StateGetClaim(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) { + if s.Internal.StateGetClaim == nil { + return nil, ErrNotSupported + } + return s.Internal.StateGetClaim(p0, p1, p2, p3) +} + +func (s *GatewayStub) StateGetClaim(p0 context.Context, p1 address.Address, p2 verifregtypes.ClaimId, p3 types.TipSetKey) (*verifregtypes.Claim, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) StateGetClaims(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) { + if s.Internal.StateGetClaims == nil { + return *new(map[verifregtypes.ClaimId]verifregtypes.Claim), ErrNotSupported + } + return s.Internal.StateGetClaims(p0, p1, p2) +} + +func (s *GatewayStub) StateGetClaims(p0 context.Context, p1 address.Address, p2 types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) { + return *new(map[verifregtypes.ClaimId]verifregtypes.Claim), ErrNotSupported +} + func (s *GatewayStruct) StateGetReceipt(p0 context.Context, p1 cid.Cid, p2 types.TipSetKey) (*types.MessageReceipt, error) { if s.Internal.StateGetReceipt == nil { return nil, ErrNotSupported diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index a5667d2bfbcc37c5f309fae9b680ee5194320f44..19c64d5ab95658991b2c25c5602117a9c5445ea9 100644 GIT binary patch delta 28779 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 delta 28744 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 YHG`gS{(eD#fqi|UWPe-aQ-uKgF9qm;Gynhq diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 508dc5ce8536fcd909f29560eef261ef1eff9529..5481bbf12725458787bee716291227945dbdf44e 100644 GIT binary patch delta 13600 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 delta 13595 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 diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 85e98952780d14fc478c026587220a7b996609d4..67ee50f74ff62e33780d0d90c9c9d174eda29fc4 100644 GIT binary patch delta 4258 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 E0CvDO>i_@% delta 4259 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 F0RReSPlNyf diff --git a/gateway/node.go b/gateway/node.go index 811cc79d3..bcc4af9ac 100644 --- a/gateway/node.go +++ b/gateway/node.go @@ -14,6 +14,7 @@ import ( "github.com/filecoin-project/go-bitfield" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" + verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" "github.com/filecoin-project/go-state-types/dline" "github.com/filecoin-project/go-state-types/network" @@ -77,6 +78,11 @@ type TargetAPI interface { StateDealProviderCollateralBounds(ctx context.Context, size abi.PaddedPieceSize, verified bool, tsk types.TipSetKey) (api.DealCollateralBounds, error) StateDecodeParams(ctx context.Context, toAddr address.Address, method abi.MethodNum, params []byte, tsk types.TipSetKey) (interface{}, error) StateGetActor(ctx context.Context, actor address.Address, ts types.TipSetKey) (*types.Actor, error) + StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) + StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) + StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) + StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) StateLookupID(ctx context.Context, addr address.Address, tsk types.TipSetKey) (address.Address, error) StateListMiners(ctx context.Context, tsk types.TipSetKey) ([]address.Address, error) StateMarketBalance(ctx context.Context, addr address.Address, tsk types.TipSetKey) (api.MarketBalance, error) diff --git a/gateway/proxy_fil.go b/gateway/proxy_fil.go index abd5371fe..eb8a354ed 100644 --- a/gateway/proxy_fil.go +++ b/gateway/proxy_fil.go @@ -10,6 +10,7 @@ import ( "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-bitfield" "github.com/filecoin-project/go-state-types/abi" + verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" "github.com/filecoin-project/go-state-types/crypto" "github.com/filecoin-project/go-state-types/dline" "github.com/filecoin-project/go-state-types/network" @@ -579,3 +580,53 @@ func (gw *Node) WalletBalance(ctx context.Context, k address.Address) (types.Big } return gw.target.WalletBalance(ctx, k) } + +func (gw *Node) StateGetAllocationForPendingDeal(ctx context.Context, dealId abi.DealID, tsk types.TipSetKey) (*verifregtypes.Allocation, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + if err := gw.checkTipsetKey(ctx, tsk); err != nil { + return nil, err + } + return gw.target.StateGetAllocationForPendingDeal(ctx, dealId, tsk) +} + +func (gw *Node) StateGetAllocation(ctx context.Context, clientAddr address.Address, allocationId verifregtypes.AllocationId, tsk types.TipSetKey) (*verifregtypes.Allocation, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + if err := gw.checkTipsetKey(ctx, tsk); err != nil { + return nil, err + } + return gw.target.StateGetAllocation(ctx, clientAddr, allocationId, tsk) +} + +func (gw *Node) StateGetAllocations(ctx context.Context, clientAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.AllocationId]verifregtypes.Allocation, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + if err := gw.checkTipsetKey(ctx, tsk); err != nil { + return nil, err + } + return gw.target.StateGetAllocations(ctx, clientAddr, tsk) +} + +func (gw *Node) StateGetClaim(ctx context.Context, providerAddr address.Address, claimId verifregtypes.ClaimId, tsk types.TipSetKey) (*verifregtypes.Claim, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + if err := gw.checkTipsetKey(ctx, tsk); err != nil { + return nil, err + } + return gw.target.StateGetClaim(ctx, providerAddr, claimId, tsk) +} + +func (gw *Node) StateGetClaims(ctx context.Context, providerAddr address.Address, tsk types.TipSetKey) (map[verifregtypes.ClaimId]verifregtypes.Claim, error) { + if err := gw.limit(ctx, stateRateLimitTokens); err != nil { + return nil, err + } + if err := gw.checkTipsetKey(ctx, tsk); err != nil { + return nil, err + } + return gw.target.StateGetClaims(ctx, providerAddr, tsk) +}