0.2.1-rc.16 • Published 1 year ago

@connext/nxtp-contracts v0.2.1-rc.16

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Nxtp Contracts

Flow

There are two key functions in the contract, prepare and fulfill.

  1. Lets assume that by this point the user has already run the auction.
  2. User calls prepare passing in all of the relevant data about the transfer on the sender side chain along with their funds for the transfer. The contract stores the funds and the hash of the data in its state.
  3. The prepare call above emits an event with the same calldata. Router hears this event (which includes its address) and calls the prepare function with the same calldata on the receiving chain (with decremented fees and timeout).
  4. User hears prepare event on receiver side. User validates the event data and signs the data, then broadcasts it to the network.
  5. Any router can then submit fulfill on the receiver side using the user's commitment + event data. If they do so, they get a small fee (in addition to gas).
  6. Original router, upon seeing the fulfill event on receiver side, submits fulfill to sender side.
  7. Note that in both sender and receiver side cases, fulfill must be called before the timeout expires. This acts as a failsafe against funds getting locked indefinitely if the counterparty is malicious. However, this also means expiry must be far enough away (w/ enough gap between both sides) to make sure the tx will go through.

There is also a cancel function. This can be called at any time by the receiver of a tx (router on sender side, user on receiver side) OR by the sender after expiry.

Key Principles

  • TransactionManager is our data store. As such, we should design in a way that removes any need for us to store offchain data. This includes for things like user pending transactions.
  • TransactionManager is also how we pass messages most of the time -- the events are used as a mechanism for broadcasting data to the counterparty. This removes the need for messaging overhead.
  • Router keeps their funds on the contract itself. This should slightly reduce costs, make analytics much easier, and will separate gas funds from operating funds (e.g. xDai side running out of gas bc all our $XDAI was drained).
0.2.1-rc.12

1 year ago

0.2.1-rc.13

1 year ago

0.2.1-rc.14

1 year ago

0.2.1-rc.15

1 year ago

0.2.1-rc.16

1 year ago

0.2.1-rc.10

1 year ago

0.2.1-rc.11

1 year ago

0.2.1-rc.7

1 year ago

0.2.1-rc.8

1 year ago

0.2.1-beta.2

1 year ago

0.2.1-beta.3

1 year ago

0.2.1-beta.6

1 year ago

0.2.1-beta.5

1 year ago

0.2.1-beta.9

1 year ago

0.2.1-beta.15

1 year ago

0.2.1-beta.16

1 year ago

0.2.1-beta.17

1 year ago

0.2.1-beta.18

1 year ago

0.2.1-beta.11

1 year ago

0.2.1-beta.12

1 year ago

0.2.1-beta.13

1 year ago

0.2.1-beta.14

1 year ago

0.2.1-rc.0

1 year ago

0.2.1-rc.1

1 year ago

0.2.1-rc.2

1 year ago

0.2.1-rc.4

1 year ago

0.2.1-rc.6

1 year ago

0.2.0-alpha.29

2 years ago

0.2.0-alpha.28

2 years ago

0.2.0-alpha.27

2 years ago

0.2.0-alpha.26

2 years ago

0.2.0-alpha.25

2 years ago

0.2.1-beta.0

2 years ago

0.2.1-beta.1

2 years ago

0.1.41

2 years ago

0.1.42

2 years ago

0.2.0-alpha.24

2 years ago

0.2.0-beta.21

2 years ago

0.2.0-beta.22

2 years ago

0.2.0-beta.23

2 years ago

0.1.40

2 years ago

0.1.38

2 years ago

0.1.39

2 years ago

0.1.37

2 years ago

0.2.0-beta.20

2 years ago

0.2.0-beta.11

2 years ago

0.2.0-beta.12

2 years ago

0.2.0-beta.13

2 years ago

0.2.0-beta.14

2 years ago

0.2.0-beta.15

2 years ago

0.2.0-beta.16

2 years ago

0.2.0-beta.17

2 years ago

0.2.0-beta.19

2 years ago

0.2.0-beta.10

2 years ago

0.2.0-alpha.16

2 years ago

0.2.0-alpha.15

2 years ago

0.2.0-alpha.14

2 years ago

0.2.0-alpha.12

2 years ago

0.2.0-alpha.11

2 years ago

0.2.0-alpha.10

2 years ago

0.2.0-alpha.9

2 years ago

0.2.0-beta.2

2 years ago

0.2.0-beta.1

2 years ago

0.2.0-beta.0

2 years ago

0.2.0-beta.6

2 years ago

0.2.0-beta.5

2 years ago

0.2.0-beta.4

2 years ago

0.2.0-beta.8

2 years ago

0.2.0-beta.7

2 years ago

0.1.34

2 years ago

0.1.35

2 years ago

0.1.36

2 years ago

0.2.0-alpha.8

2 years ago

0.2.0-alpha.1

2 years ago

0.2.0-alpha.4

2 years ago

0.2.0-alpha.6

2 years ago

0.2.0-alpha.5

2 years ago

0.1.32

2 years ago

0.1.33

2 years ago

0.1.30

2 years ago

0.1.31

2 years ago

0.1.28

2 years ago

0.1.29

2 years ago

0.1.27

2 years ago

0.1.26

2 years ago

0.1.20

2 years ago

0.0.105

2 years ago

0.1.21

2 years ago

0.0.104

2 years ago

0.1.22

2 years ago

0.0.103

2 years ago

0.1.23

2 years ago

0.1.24

2 years ago

0.1.25

2 years ago

0.0.102

2 years ago

0.0.101

2 years ago

0.0.100

2 years ago

0.1.16

2 years ago

0.1.17

2 years ago

0.1.18

2 years ago

0.1.19

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.9

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.15-alpha.0

2 years ago

0.0.99

2 years ago

0.0.84

2 years ago

0.0.85

2 years ago

0.0.86

2 years ago

0.0.87

2 years ago

0.0.88

2 years ago

0.0.89

2 years ago

0.0.80

2 years ago

0.0.81

2 years ago

0.0.82

2 years ago

0.0.83

2 years ago

0.0.75

2 years ago

0.0.77

2 years ago

0.0.78

2 years ago

0.0.79

2 years ago

0.0.95

2 years ago

0.0.96

2 years ago

0.0.97

2 years ago

0.0.98

2 years ago

0.0.90

2 years ago

0.0.91

2 years ago

0.0.92

2 years ago

0.0.93

2 years ago

0.0.94

2 years ago

0.0.73

2 years ago

0.0.74

2 years ago

0.0.70

2 years ago

0.0.71

2 years ago

0.0.72

2 years ago

0.0.66

3 years ago

0.0.68

3 years ago

0.0.69

2 years ago

0.0.64

3 years ago

0.0.65

3 years ago

0.0.62

3 years ago

0.0.63

3 years ago

0.0.60

3 years ago

0.0.61

3 years ago

0.0.56

3 years ago

0.0.57

3 years ago

0.0.58

3 years ago

0.0.52

3 years ago

0.0.53

3 years ago

0.0.54

3 years ago

0.0.55

3 years ago

0.0.51

3 years ago

0.0.50

3 years ago

0.0.49

3 years ago

0.0.47

3 years ago

0.0.48

3 years ago

0.0.46

3 years ago

0.0.41

3 years ago

0.0.42

3 years ago

0.0.44

3 years ago

0.0.45

3 years ago

0.0.40

3 years ago

0.0.38

3 years ago

0.0.39

3 years ago

0.0.37

3 years ago

0.0.36

3 years ago

0.0.32

3 years ago

0.0.33

3 years ago

0.0.34

3 years ago

0.0.35

3 years ago

0.0.30

3 years ago

0.0.31

3 years ago

0.0.26

3 years ago

0.0.27

3 years ago

0.0.29

3 years ago

0.0.20

3 years ago

0.0.21

3 years ago

0.0.22

3 years ago

0.0.23

3 years ago

0.0.24

3 years ago

0.0.25

3 years ago

0.0.19

3 years ago

0.0.18

3 years ago

0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.12

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.3

3 years ago