Skip to content

Commit

Permalink
Post-Crescendo updates (#172)
Browse files Browse the repository at this point in the history
Closes: #165 #171

### Description

- Replaces existing node modules dependency system with Flow CLI's
dependency manager for consistency with other onflow repos
- Updates CI commands to use the Flow CLI `flow` command found in
`v2.0.0`
- Removes Previewnet deployment addresses as that network will be
deprecated
- Removes the code normalization script which has been integrated with
the `flow test` command
- Removes the outdated `.gitmodules` file, a remnant from when this repo
used git submodules

Also, outside of the context of this PR, the new `NFTCollectionFactory`
and `FTVaultFactory` (#164) contracts have been deployed on Testnet &
Mainnet. After deployment, the existing hosted factory managers (see
README) have been configured with the setup transactions already found
in this repo.
  • Loading branch information
sisyphusSmiling authored Sep 6, 2024
1 parent 3a09212 commit 310134d
Show file tree
Hide file tree
Showing 9 changed files with 441 additions and 564 deletions.
19 changes: 14 additions & 5 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,31 @@ on:
push:
branches: [main]


jobs:
tests:
name: Flow CLI Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18
go-version: "1.20.x"
- uses: actions/cache@v1
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Install Flow CLI
run: bash -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.21.0-cadence-v1.0.0-preview.27
run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)"
- name: Flow CLI Version
run: flow version
- name: Update PATH
run: echo "/root/.local/bin" >> $GITHUB_PATH
- name: Run tests
run: flow test --cover --covercode="contracts" --coverprofile="coverage.lcov" test/*_tests.cdc
run: sh test.sh
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ coverage.lcov
*.pkey
*.private
*.pem
node_modules/
node_modules/
imports/
9 changes: 0 additions & 9 deletions .gitmodules

This file was deleted.

18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ they can:
| ---------- | ------------------------------------------------------------------------------------ |
| Testnet | [0x294e44e1ec6993c6](https://testnet.contractbrowser.com/account/0x294e44e1ec6993c6) |
| Mainnet | [0xd8a7e05a7ac670c0](https://contractbrowser.com/account/0xd8a7e05a7ac670c0) |
| Previewnet | [0x28b81f5880d5554e](https://previewnet.flowdiver.io/account/28b81f5880d5554e) |

### Hosted `CapabilityFactory` & `CapabilityFilter` Implementations

Expand All @@ -34,23 +33,24 @@ they can:
> generalized implementations likely cover most use cases, but you'll want to weigh the decision to use them according
> to your risk tolerance and specific scenario.
| Use Case | Testnet Address | Mainnet Address | Previewnet Address |
| -------- | --------------- | --------------- | ------------------ |
| NFT Capability Factories | [0x1055970ee34ef4dc](https://f.dnz.dev/0x1055970ee34ef4dc/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0xee9ff4f07a2d6dad](https://f.dnz.dev/0xee9ff4f07a2d6dad/storage/CapabilityFactory_0xd8a7e05a7ac670c0) | [0x80340a153332a5fc](https://f.dnz.dev/0x80340a153332a5fc/raw/storage/CapabilityFactory_0x28b81f5880d5554e) |
| FT Capability Factories | [0x08bed9e8508ed20e](https://f.dnz.dev/0x08bed9e8508ed20e/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0x410aa603925923d9](https://f.dnz.dev/0x410aa603925923d9/storage/CapabilityFactory_0xd8a7e05a7ac670c0) | [0x7207d6fbbbccaf42](https://f.dnz.dev/0x7207d6fbbbccaf42/raw/storage/CapabilityFactory_0x28b81f5880d5554e)
| NFT + FT Capability Factories | [0x1b7fa5972fcb8af5](https://f.dnz.dev/0x1b7fa5972fcb8af5/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0x071d382668250606](https://f.dnz.dev/0x071d382668250606/storage/CapabilityFactory_0xd8a7e05a7ac670c0) | [0x96606f26aa36af9d](https://f.dnz.dev/0x96606f26aa36af9d/raw/storage/CapabilityFactory_0x28b81f5880d5554e) |
| AllowAllFilter | [0xe2664be06bb0fe62](https://f.dnz.dev/0xe2664be06bb0fe62/storage/CapabilityFilter_0x294e44e1ec6993c6) | [0x78e93a79b05d0d7d](https://f.dnz.dev/0x78e93a79b05d0d7d/storage/CapabilityFilter_0xd8a7e05a7ac670c0) | [0x6453b3c822c8a523](https://f.dnz.dev/0x6453b3c822c8a523/raw/storage/CapabilityFilter_0x28b81f5880d5554e) |
| Use Case | Testnet Address | Mainnet Address |
| -------- | --------------- | --------------- |
| NFT Capability Factories | [0x1055970ee34ef4dc](https://f.dnz.dev/0x1055970ee34ef4dc/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0xee9ff4f07a2d6dad](https://f.dnz.dev/0xee9ff4f07a2d6dad/storage/CapabilityFactory_0xd8a7e05a7ac670c0) |
| FT Capability Factories | [0x08bed9e8508ed20e](https://f.dnz.dev/0x08bed9e8508ed20e/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0x410aa603925923d9](https://f.dnz.dev/0x410aa603925923d9/storage/CapabilityFactory_0xd8a7e05a7ac670c0) |
| NFT + FT Capability Factories | [0x1b7fa5972fcb8af5](https://f.dnz.dev/0x1b7fa5972fcb8af5/storage/CapabilityFactory_0x294e44e1ec6993c6) | [0x071d382668250606](https://f.dnz.dev/0x071d382668250606/storage/CapabilityFactory_0xd8a7e05a7ac670c0) |
| AllowAllFilter | [0xe2664be06bb0fe62](https://f.dnz.dev/0xe2664be06bb0fe62/storage/CapabilityFilter_0x294e44e1ec6993c6) | [0x78e93a79b05d0d7d](https://f.dnz.dev/0x78e93a79b05d0d7d/storage/CapabilityFilter_0xd8a7e05a7ac670c0) |

## Development

Follow the steps outlined below to set up your development environment.

1. **Initialize and Update Submodules**

This project uses Git submodules. To initialize and update them, run the following command in your terminal:
This project uses [Flow CLI's Dependency Manager](https://developers.flow.com/tools/flow-cli/dependency-manager). To
install them, run the following command in your terminal:

```bash
git submodule update --init --recursive
flow dependencies install
```

2. **Run Flow Emulator**
Expand Down
Loading

0 comments on commit 310134d

Please sign in to comment.