Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
f3dda0b
Support Ledger Wallets and Fee Estimation (#1366)
alistair-singh Jan 28, 2025
38bcf47
Query the status of a single transfer & add comments for the indexer …
yrong Feb 3, 2025
edd004b
One click transfers (#1372)
alistair-singh Feb 4, 2025
f95dc27
Fixes for operational scripts (#1373)
alistair-singh Feb 4, 2025
640112b
Up version numbers (#1374)
alistair-singh Feb 4, 2025
0275f13
Fix test script (#1376)
yrong Feb 6, 2025
3cf5530
Fix mythos api (#1377)
alistair-singh Feb 7, 2025
3023213
Api minor fixes (#1379)
alistair-singh Feb 10, 2025
6bb4368
fix ops scripts (#1380)
alistair-singh Feb 10, 2025
51a29ad
Improve comments and docs (#1385)
yrong Feb 19, 2025
55acf5a
Monitoring the indexer service (#1386)
yrong Feb 20, 2025
247f735
Electra upgrade (#1283)
claravanstaden Feb 24, 2025
735b719
Fix test coverage reports (#1390)
vgeddes Feb 25, 2025
3202f11
upload-artifact v4 (#1392)
vgeddes Feb 25, 2025
02605ad
Add basic Moonbeam (#1382)
alistair-singh Feb 25, 2025
8db2aec
Fetch assets Asynchronously (#1394)
alistair-singh Feb 26, 2025
cf261f2
Improve ERC20 implementation (#1384)
vgeddes Feb 27, 2025
69e73a1
Improve fork upgrade tests (#1393)
vgeddes Feb 27, 2025
fbd76dd
Update preimage tool (#1395)
vgeddes Feb 28, 2025
e8d05c8
Moonbeam EVM Wallet Support (#1398)
alistair-singh Feb 28, 2025
2bc718f
Improve fork test (#1399)
vgeddes Mar 2, 2025
674e33b
improve fork tests (#1400)
vgeddes Mar 2, 2025
37cac6e
Add moonbeam transfer route (#1401)
alistair-singh Mar 4, 2025
cb25ccb
Fix westend transfers (#1402)
alistair-singh Mar 5, 2025
57f8408
API fixes polkadot-stable2409 (#1278)
alistair-singh Mar 5, 2025
f87b4a7
Remove the unsupported indexer query (#1397)
yrong Mar 6, 2025
e70deaa
Fix Bifrost dry run Tx (#1403)
alistair-singh Mar 6, 2025
a2ad606
Add support for ether (#1409)
alistair-singh Mar 13, 2025
94861d4
Upgrade gateway on Sepolia for westend (#1407)
yrong Mar 14, 2025
f4c1815
Update indexer endpoint & Cleanup (#1411)
yrong Mar 14, 2025
6d4b98f
Ban lido token (#1412)
alistair-singh Mar 14, 2025
069177d
Fix hardcoded url (#1414)
alistair-singh Mar 14, 2025
7cf8aa0
Register Polkadot Native Assets in Control Tool (#1405)
alistair-singh Mar 19, 2025
fcd0e67
Force rebuild (#1418)
yrong Mar 19, 2025
450babf
Format codes (#1416)
yrong Mar 20, 2025
4cb675b
remove equilibrium and its stable coin (#1421)
claravanstaden Mar 20, 2025
b2eb7a4
Hot fix (#1424)
yrong Mar 22, 2025
7c1be2c
Update geth to v.15.5 in order to support decoding of SetCodeTx (#1426)
ParthDesai Mar 28, 2025
bcaf3cf
Do not check for ED if dry run was successful (#1415)
alistair-singh Mar 31, 2025
9f24264
Increase finalization timeout (#1427)
yrong Apr 2, 2025
aa87bfd
chore: fix some comments (#1420)
murongshaozong Apr 2, 2025
59f05c6
V2 (#1371)
vgeddes Apr 2, 2025
667e169
Init v2
NindoK Dec 18, 2025
05c0c92
First working version. Missing minor implementations on V2
NindoK Dec 19, 2025
917ee93
Fix helperconfig
NindoK Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/check-contracts-clients.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Check if Go clients consistent with contracts
name: Check Contracts Clients

on:
pull_request:
# TODO: Remove test branch after testing
branches: ["tanssi-main"]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-contracts-clients:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check jq
run: jq --version

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.23"

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: "v1.1.0"

- name: Show Forge version
run: forge --version

- name: Install abigen
run: go install github.com/ethereum/go-ethereum/cmd/abigen@v1.14.11

- name: Check abigen
run: abigen --version

- name: Build Contracts
working-directory: contracts
run: |
forge build

- name: Generate clients
working-directory: relayer
run: |
go generate ./...

- name: Check if go contract bindings are up-to-date
run: git diff --exit-code ./relayer/contracts || (echo "The contract bindings are not up-to-date against contracts." && exit 1)
10 changes: 9 additions & 1 deletion .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,13 @@ on:
- "contracts/**"
- "!contracts/**/README.md"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: snowbridge-runner
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v1
Expand All @@ -25,9 +29,13 @@ jobs:
- name: Test
working-directory: contracts
run: forge test
env:
RPC_URL: ${{ secrets.RPC_URL }}
- name: Coverage
working-directory: contracts
run: forge coverage --report=lcov --via-ir
env:
RPC_URL: ${{ secrets.RPC_URL }}
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/control.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@ on:
paths:
- "control/**"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
control:
runs-on: snowbridge-runner
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
Expand Down Expand Up @@ -59,4 +63,3 @@ jobs:
- name: Build Westend
run: |
nix develop -c sh -c 'cd control && cargo build --features westend'

3 changes: 2 additions & 1 deletion .github/workflows/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ on:

jobs:
labeler:
if: false
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
sync-labels: true
sync-labels: true
1 change: 1 addition & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ env:

jobs:
publish:
if: false
runs-on: snowbridge-runner
timeout-minutes: 15
steps:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/relayer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@ on:
paths:
- "relayer/**"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: snowbridge-runner
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v1
Expand All @@ -22,7 +26,7 @@ jobs:
- name: setup go
uses: actions/checkout@v4
with:
go-version: '^1.20.1'
go-version: "^1.22.5"

- name: check go version
run: go version
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/release-relayer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ env:
IMAGE_NAME: snowfork/snowbridge-relay

jobs:
if: false
release-relayer:
runs-on: snowbridge-runner
timeout-minutes: 15
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/smoke-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ on:
workflow_dispatch:
schedule:
# Runs at 8:00 AM every day
- cron: '0 8 * * *'
- cron: "0 8 * * *"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
smoketests:
runs-on: snowbridge-runner
runs-on: ubuntu-latest
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: 1
Expand Down Expand Up @@ -40,7 +44,7 @@ jobs:
run: echo "POLKADOT_SDK_DIR=./polkadot-sdk" >> $GITHUB_ENV
- name: Create directories
run: mkdir -p $OUTPUT_DIR && mkdir -p $LOG_DIR
- uses: actions/cache@v1
- uses: actions/cache@v3
with:
path: |
~/.cargo/registry
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ node_modules/
/relaychain/
.vscode

.history/
.env

/.rustup/
.cargo/
!.cargo/config.toml
Expand Down
4 changes: 3 additions & 1 deletion codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ coverage:
project: off
patch: off
github_checks:
annotations: false
annotations: false
ignore:
- "contracts/test/mocks"
- "contracts/src/utils"
Expand All @@ -15,3 +15,5 @@ flags:
paths:
- contracts
carryforward: true
fixes:
- "::contracts/"
2 changes: 1 addition & 1 deletion contracts/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ coverage/
out/
cache/
broadcast/
types/
/types/
tsconfig.tsbuildinfo
lcov.info
tenderly.yaml
Expand Down
4 changes: 4 additions & 0 deletions contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ via_ir = true

[profile.production.etherscan]
mainnet = { key = "${ETHERSCAN_API_KEY}" }

[fmt]
number_underscore = "thousands"
line_length = 99
21 changes: 0 additions & 21 deletions contracts/scripts/Deploy.sol

This file was deleted.

2 changes: 1 addition & 1 deletion contracts/scripts/DeployBeefyClient.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ contract DeployBeefyClient is Script {
function readConfig() internal pure returns (Config memory config) {
// Checkpoint generated using the script `./beefy-checkpoint.js` script in Polkadot-JS.
config = Config({
startBlock: 21087413,
startBlock: 21_087_413,
current: BeefyClient.ValidatorSet({
id: 644,
length: 297,
Expand Down
54 changes: 54 additions & 0 deletions contracts/scripts/DeployBeefyLocal.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
pragma solidity 0.8.28;

import {Script, console2} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";

import {BeefyClient} from "../src/BeefyClient.sol";
import {HelperConfig} from "./HelperConfig.sol";

contract DeployBeefyClient is Script {
using stdJson for string;

function setUp() public {}

function run() public {
HelperConfig helperConfig = new HelperConfig("");
HelperConfig.BeefyClientConfig memory beefyClientConfig =
helperConfig.getBeefyClientConfig();

vm.startBroadcast();

// BeefyClient
// Seems `fs_permissions` explicitly configured as absolute path does not work and only allowed from project root
string memory root = vm.projectRoot();
string memory beefyCheckpointFile = string.concat(root, "/beefy-state.json");
string memory beefyCheckpointRaw = vm.readFile(beefyCheckpointFile);
uint64 startBlock = uint64(beefyCheckpointRaw.readUint(".startBlock"));

BeefyClient.ValidatorSet memory current = BeefyClient.ValidatorSet(
uint128(beefyCheckpointRaw.readUint(".current.id")),
uint128(beefyCheckpointRaw.readUint(".current.length")),
beefyCheckpointRaw.readBytes32(".current.root")
);
BeefyClient.ValidatorSet memory next = BeefyClient.ValidatorSet(
uint128(beefyCheckpointRaw.readUint(".next.id")),
uint128(beefyCheckpointRaw.readUint(".next.length")),
beefyCheckpointRaw.readBytes32(".next.root")
);

BeefyClient beefyClient = new BeefyClient(
beefyClientConfig.randaoCommitDelay,
beefyClientConfig.randaoCommitExpiration,
beefyClientConfig.minimumSignatures,
startBlock,
current,
next
);

console2.log("BeefyClient: ", address(beefyClient));

vm.stopBroadcast();
}
}
52 changes: 52 additions & 0 deletions contracts/scripts/DeployGatewayUpgrade.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <hello@snowfork.com>
pragma solidity 0.8.28;

import {console2} from "forge-std/console2.sol";
import {Script} from "forge-std/Script.sol";
import {stdJson} from "forge-std/StdJson.sol";

import {GatewayTanssi202509} from "../src/upgrades/GatewayTanssi202509.sol";
import {HelperConfig} from "./HelperConfig.sol";
import {UpgradeParams} from "../src/v1/Types.sol";
import {AgentExecutor} from "../src/AgentExecutor.sol";

contract DeployLocal is Script {
using stdJson for string;

function setUp() public {}

function run() public {
HelperConfig helperConfig = new HelperConfig("");
_deploy(helperConfig);
}

function run(string calldata testnet) public {
HelperConfig helperConfig = new HelperConfig(testnet);
_deploy(helperConfig);
}

function _deploy(HelperConfig helperConfig) private {
vm.startBroadcast();
HelperConfig.GatewayConfig memory gatewayConfig = helperConfig.getGatewayConfig();

// Needed for the native transfer feature
AgentExecutor agentExecutor = new AgentExecutor();

GatewayTanssi202509 gatewayLogic =
new GatewayTanssi202509(address(gatewayConfig.beefyClient), address(agentExecutor));

console2.log("AgentExecutor: ", address(agentExecutor));
console2.log("Gateway logic impl: ", address(gatewayLogic));
console2.log("Gateway logic codehash: ");
console2.logBytes32(address(gatewayLogic).codehash);
UpgradeParams memory params = UpgradeParams({
impl: address(gatewayLogic),
implCodeHash: address(gatewayLogic).codehash,
initParams: bytes("")
});

console2.logBytes(abi.encode(params));
vm.stopBroadcast();
}
}
Loading