Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/dtynn/compatible check for api perms #4730

Merged
merged 2 commits into from
Jan 19, 2022

Conversation

dtynn
Copy link
Contributor

@dtynn dtynn commented Jan 19, 2022

Related Issues

no related issues

Proposed Changes

  1. add a new tool: check diffs of latest api permissions between venus & lotus
  2. add a new github-action script:
    • compling
    • testing
    • compaitble checking
    • detecting for any file changes

Additional Info

Checklist

Before you mark the PR ready for review, please make sure that:

  • All commits have a clear commit message.
  • CI is green

@dtynn dtynn requested a review from zl03jsj January 19, 2022 09:05
@zl03jsj zl03jsj merged commit 41f4ea7 into feat/venus-v2 Jan 19, 2022
@dtynn dtynn deleted the feat/dtynn/compatible_check_for_api_perms branch January 19, 2022 09:47
hunjixin added a commit that referenced this pull request Feb 25, 2022
* feat: add modules: venus-shared & venus-devtool

* add simple test for blockHeader serializing & caching, fix test for bigint

* feat: add doc: refactor notes for venus-v2

* fix: newline in check item

* refactor: remove cachedXXXX fields inside chain.BlockHeader, re-organize
usages of Serialize()

* feat: add more types

* feat: more types in venus-shared/chain

* feat: add coverage stat for tests

* feat: impl value provider for testing

* feat: check for convertible provider, use int for all number types

* feat: test for invalid provider registration

* feat: show cbor-gened types in lotus

* feat: add value providers for chain-related types

* chore: basic test util for cbor types

* feat: move cborErBasic into testutil

* feat: add providers for +/- big.Ints

* feat: complete tests for BigInt

* feat: add more tests for FIL

* feat: add more tests for unit string

* feat: basic test for Ticket

* feat: more basic tests for cbor.Er types

* refactor: use require to replace assert

* feat: add more tests for TipSet / ElectionProof / Ticket

* feat: add tests for PaddedPieceSize / UnpaddedPieceSize

* feat: add tests for hello types

* fetch templates

* feat: complete venus-shared/actors

* feat: add FullBlock, FullTipSet in chain, add types in libp2p/exchange

* feat: remove variables for implementations in libp2p/exchange

* feat: add interfaces for libp2p components

* init venus-component module

* duplicate pkg/chainsync/exchange into venus-componet/libp2p

* restore pkg/chainsync/exchange

* fix: stuffs required by venus-component/libp2p/exchange

* feat: duplicate chainsync/exchange, make it depend on venus-shared

* feat: add type Options for exchange protocol

* feat: logger with context

* use *TaggedLogger

* add FilPeerEventType

* impl: exchange Server

* impl: exchange Client

* move client side codes into separated pkg

* feat: update exchange.Client.GetFullTipSet

* feat: impl exchange.Client

* impl & test Message.ValidForBlockInclusion

* more types in venus-shared

* impl: typechecker

* impl: typecheck.Similar & tests

* mv typecheck into venus-shared

* rename package

* impl: similar-check reason info

* duplicate v0 apis

* checkout app/client/apiface

* pick fullnode decl

* feat: checksum for api.FullNode

* go mod tidy

* add method group: chain for v0api of chain service

* add subcmd: checksum for apis

* add subcmd: diff for apis

* mv v0 to v1

* introduce api/chain/v1

* feat: api diff

* add struct field check for Similar

* add struct tag check for api-diff

* fix: api diffs caused by chain.BlockHeader

* fix: api diffs caused by json.Marshaler impl of Message & SignedMessage

* fix: api diffs caused by MessageReceipt.ReturnValue

* fix: add returned error for ChainNotify

* fix: api diffs caused by BlockTemplate

* fix: api diffs caused by PaymentInfo cbor codec impl

* show codec string in Similar reason

* impl Similar: convertible, interface all methods, recursive

* Feat/fix api permission (#4626)

* fix api permission

* fix v0 api permission

* CI integration API permission validation

* add v0 api and fix permission

* Feat/replica actos file (#4628)

* add cmd to replica actors file

* replica actors files

* Feat/replace actors (#4632)

* use actors from shared

* update shared go.mod

* complex providers (#4634)

* Feat/replace common type (#4636)

* more type and function

* replace type

* venus-devtool add tools for venus-shared api generation, (#4638)

and also ouput permisstion check to compatible-checks dir.

* add v7 actor files (#4637)

* use the shared API (#4639)

* use the shared API

* tool for auto generate api document. (#4640)

* provide esitimate-message type for doc generation (#4641)

* api mocks (#4654)

* Feat/simple api perm comment (#4655)

* simplified permission comment

* fix replica cmd

* add proxy util

* specactors: pull in lotus upgrade

* specactors: Add code not generated by the template

* upgrade vm @ network params for actor v7

* specactors: Add code not generated by the template (#4657)

* shared remove go.mod (#4659)

* VM: Circ supply should be constant per epoch (#4656)

* inline coed gen (#4663)

* inline coed gen

* fix test

* fix method map (#4666)

* Feat/venus v2 snapdeal (#4664)

* upgrade filecoin-ffi

* upgrade github.com/ipfs/go-datastore to v0.5.1

* fix go mod

* fix PrivKey Marshal

* fix api & api-doc

* fix consensus test

* fix wallet test

Co-authored-by: 一页素书 <2931107265@qq.com>

* fix func def for dsbackend

* Unify the definition of MessageReceipt (#4667)

Co-authored-by: 一页素书 <2931107265@qq.com>

* fix ci for select msg test (#4669)

Co-authored-by: 一页素书 <2931107265@qq.com>

* disable mplex stream muxer (#4668)

* fix test (#4670)

* fix test

* close dht (#4672)

* refactor: (#4673)

1: rename MsigCancel to MsigApproveTxnHash (compatible with lotus api)
2: the older MsigCancel inner invoke msigApproveOrCancelSimple.

new feat:
1: add `msig cancel` command.

others:
the compatible check files was re-generated :make compatible-all
api document is re-generated : make api-docs
api structs is re-genreated: make v2-gen-api && make gen-api

* merge type pkg (#4674)

* Feat/simplify storage interface (#4676)

* to simplify storage interface

* add method: TipSetKeyFromBytes

* chain notify return error (#4677)

* fix un-consunsus api StateMinerPreCommitDepositForPower (#4678)

* fix (#4679)

* Feat/generate v0 api doc (#4685)

* clean code

* generate v0 api doc

* circsuypply calc around null blocks (#4687)

* remove the NtwkVersionGetter (#4690)

* remove the NtwkVersionGetter

* syscalls add method: VerifyReplicaUpdate

* more inline template (#4691)

* test vector runner fixes for v6 vectors (#4692)

* add gas charge for VerifyReplicaUpdate (#4693)

* mod: update go-paramfetch (#4694)

* add temp snap params (#4697)

* support snap deals (#4696)

Co-authored-by: 一页素书 <2931107265@qq.com>

* fix sender and receiver are the same (#4703)

* Integrate proof v11.0.0 (#4705)

* support snapnet (#4702)

* support snapnet

* fix butterfly network params

* Feat/migration autobatch (#4704)

* Fast migration for v15

* fix autobatch

Co-authored-by: simlecode <hj1557986@gmail.com>

* opt version cmd (#4707)

* bump version to v1.2.0-rc1 (#4708)

* use expresion pattern maching version

* fix api client

* fix search msg

* update api version

* bump version to v1.2.0-rc2

* vm: fix network version not correct (#4712)

* bump version to v1.2.0-rc3 (#4713)

* No need to compare from address and to address (#4716)

* No need to compare from address and to address

* vmoption remove NetworkVersionGetter

* Feat/dtynn/compatible check for api perms (#4730)

* feat: compatible check for api perms

* add github-action: basic checks

* add ci checks for type comtatilble, api/mock api generation, (#4731)

and documents generation.

* bump version to v1.2.0-rc4 (#4733)

* Remove unused code (#4732)

* remove fixtures/proof-params/parameters.json

* remove unused api code

* remove pkg/types

* Feat/dtynn/refactor parts of the api compatible checks (#4734)

* refactor: devtool: refactor api-gen & re-generate related codes (#4737)

* feat: venus-shared: pick types & api def from venus-messager (#4738)

* feat: shared types from venus-messager

* feat: add api defs for venus-messager

* feat: generate proxy_gen.go for venus-messager

* feat: venus-shared: pick types & api def from venus-wallet (#4746)

* feat: venus-shared: pick types & api def from venus-wallet

* rename GroupId|BindId to GroupID|BindID

* remove blank line

* move DrawRandomParams to a separate file

* feat: generate client constructor for apis in venus-shared (#4747)

* upgrade ffi (#4748)

* fix wallet unlock failed (#4736)

* build: release: v1.2.0-rc5 (#4751)

* reset butterfly network

* update ffi

* udpate version to v1.2.0-rc5

* refactor: generate document for api (#4749)

* remove unrelated parmas (#4753)

* fix json marshal/unmarshal for FIL type

* fix: venus-shared: Change the type of HeadChange.Type (#4755)

* Change the type of HeadChange.Type

* feat: venus-shared: Expose RPC client options (#4756)

* Expose RPC client options

* migrate v7 version config (#4761)

* chore: dep: update ffi & go.mod (#4762)

* update ffi & go.mod

* pick venus-gateway def & api (#4769)

Co-authored-by: 一页素书 <2931107265@qq.com>

* feat: extend api & types from venus-gateway (#4770)

* feat: extend api & types from venus-gateway

* CI: fix apt install failed

Co-authored-by: 一页素书 <2931107265@qq.com>

* feat: venus-shared: introduce apis & types from venus-market (#4776)

* feat: introduce apis & types from venus-market

* opt: remove unused mod

Co-authored-by: 一页素书 <2931107265@qq.com>

* feat: remove previous api def for gateway: with proof event related methods only (#4779)

* type: venus-shared: add pad byte index (#4777)

* type: venus-shared: add pad byte index

* add v0 api for gateway (#4780)

* feat: venus-shared: api version / namespaces & helper func for rpc endpoint (#4782)

* feat: helper for formating endpoint with given addr & ver

* feat: add Version for api-gen

* feat: re-generate api clients with ver & nss

* refactor: rename v0 to gateway so that we could have a better api namespace

* feat: config: migrate maxfee (#4783)

* migrate maxfee

* Feat/remove replace for ipfscmds (#4773)

* remove replace for ipfs cmds library

* reinit peer key if not found

* fix security dependency (#4784)

* fix security dependency

* build v1.2.0-rc6 (#4785)

* tweak v15 migration params

* venus-devtool: upgrade lotus to v1.14.0

* set ohSnap mainnet upgrade epoch

* update version to v1.2.0-rc6

* upgrade venus-auth

* fix: use DealProposal inside specs-actors (#4786)

* fix comment (#4787)

* split-gateway-interfaces-by-role (#4788)

* remove unused api version info (#4795)

* update version to v1.2.0 (#4796)

* update git workflow (#4799)

* sync: fix inconsistent circ supply at the same epoch (#4802)

* Fix inconsistent circ supply at the same epoch

* bump version to v1.2.1 (#4803)

* Feat/dtynn/introduce dial args (#4804)

* feat: introduce APIInfo from venus-common-utils/apiinfo

* feat: update template for client gen, re-gen for all shared apis

Co-authored-by: dtynn <dtynn@163.com>
Co-authored-by: zl <zl03jsj@163.com>
Co-authored-by: 一页素书 <2931107265@qq.com>
Co-authored-by: Susanoo <40375298+diwufeiwen@users.noreply.github.com>
Co-authored-by: Mike <41407352+hunjixin@users.noreply.github.com>
Co-authored-by: hunjixin <1084400399@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants