• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    Solidity
  • Created over 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

##Ronin-Smart-Contracts

The smart contracts that power Ronin.

Validators

Only validators can produce blocks on Ronin. Validators can also acknowledge deposit and withdrawal events to facilitate asset transfers.

Each validator contract has a minimum threshold that must be reached when the state changes such as transfer of assets and addition/removal of validators. There is one validator contract on Ethereum and a corresponding validator contract on Ronin. An admin has the right to manage validators on Ethereum (in the future this will be upgraded to a multi-sig walllet). These changes are relayed to Ronin through the Bridge component.

Ethereum Bridge

When an event happens on Ethereum, the Bridge component in each validator node will pick it up and relay it to Ronin by sending a corresponding transaction.

Depending on the action, these transactions will be relayed to SideChainValidator (changes in the validator list/updates to the consensus threshold) or SidechainGatewayManager (deposits, withdrawals).

If there are enough acknowledgements (# of acknowledgement/# of validator >= ratio), the event will be confirmed on Ronin.

Adding Validators

An admin account will need to send a transaction to add the new validator to MainchainValidator. Next, the Bridge in each validator node will acknowledge and approve the new validator. After having enough acknowledgements, the new validator can start proposing blocks.

Deposits

Users can deposit ETH, ERC20, and ERC721 (NFTs) by sending transactions to MainchainGatewayManager and waiting for the deposit to be verified on Ronin. The gateway should have a mapping between token contracts on Ethereum and on Ronin before the deposit can take place.

Withdrawals

Similar to deposits, there should be token mapping between Ronin and Ethereum before users can withdraw. However, instead of sending a relay transaction on Ethereum, the validators simply provide a signature that the withdrawal event has taken place. The withdrawal then needs to collect enough signatures before it can be claimed by the user on Ethereum.

More Repositories

1

public-smart-contracts

Public smart contracts of Axie Infinity.
200
star
2

ronin

A DPoS blockchain.
Go
67
star
3

festival

Design principles of a front-end system 🎉
45
star
4

spine-rs

Spine runtime for Rust.
Rust
27
star
5

w3b

Web3 API in Rust.
Rust
20
star
6

ronin-dpos-contracts

The collections of smart contracts that power the Ronin Delegated Proof of Stake (DPoS) network.
Solidity
19
star
7

awesome-axie-gtk

17
star
8

ronin-documentation

Source repository for Ronin documentation
JavaScript
17
star
9

clap-nested

Convenient `clap-rs` for CLI apps with multi-level subcommands.
Rust
16
star
10

bridge-v2

Go
13
star
11

rns-contracts

The collections of smart contracts that power the Ronin Name Service (RNS)
Solidity
12
star
12

REPs

Ronin Evolution Proposal
11
star
13

puff-discord-bot

The Discord bot of Axie Infinity.
JavaScript
8
star
14

foundry-deployment-kit

The collections of smart contracts that support writing foundry deployment scripts
Solidity
8
star
15

ronin-snapshot

8
star
16

unity-axie-gtk2d

C#
7
star
17

cc-axie-gtk2d

TypeScript
7
star
18

godot-axie-starter-3d

GDScript
6
star
19

cc-axie-colyseus-demo

An example Axie artillery game with Cocos Creator and Colyseus
JavaScript
6
star
20

jenkins-library

Shared Jenkins library for Sky Mavis.
Groovy
6
star
21

mixer-unity

C#
6
star
22

steit

State management and server-client synchronization from Rust to C#.
Rust
5
star
23

bridge-core

Go
5
star
24

tma-pray-atia-example

Telegram Mini App click game example
TypeScript
5
star
25

r3f-axie-starter

TypeScript
4
star
26

workflows-samples

4
star
27

game-test-02

4
star
28

public-scripts

A collection of public Axie Infinity scripts.
Shell
4
star
29

mixer-playground

TypeScript
4
star
30

oidc-quickstart

OIDC - Quickstart
TypeScript
3
star
31

truffle-deploy

Fine-grained Truffle deployment.
JavaScript
3
star
32

unity-axie-tracking

Tracking SDK for Unity Editor
C#
2
star
33

ronin-kms-client

Ronin KMS Client
Go
2
star
34

bridge-cleaner

bridge-cleaner
Go
2
star
35

contract-template

Solidity
2
star
36

demo-rnsjs

CSS
1
star
37

game-js-test-01

Axie Infinity – Game Fresher typescript Test
TypeScript
1
star
38

mav

An one-stop tool to manage infrastructures.
Rust
1
star
39

infura-exporter

Go
1
star
40

audit-reports

1
star
41

axie-game-unity-test-01

C#
1
star
42

bridge-migrations

Go
1
star
43

bridge-contracts

Makefile
1
star
44

contract-libs

Solidity
1
star
45

axie-starter-3d-assets

1
star
46

unity-axie-starter-3d-demo

C#
1
star