• R/O
  • HTTP
  • SSH
  • HTTPS

vapor: Commit

Golang implemented sidechain for Bytom


Commit MetaInfo

Revision8a3d77e145317938ad4ad356e319fb3617f05fd7 (tree)
Time2019-10-16 10:41:11
Authoroysheng <33340252+oysheng@user...>
CommiterPaladz

Log Message

modify parameter name (#411)

Change Summary

Incremental Difference

--- a/consensus/segwit/segwit.go
+++ b/consensus/segwit/segwit.go
@@ -141,7 +141,7 @@ func DecodeP2WMCProgram(prog []byte) (*vmutil.MagneticContractArgs, error) {
141141 copy(requestedAsset[:], insts[1].Data)
142142 magneticContractArgs.RequestedAsset = bc.NewAssetID(requestedAsset)
143143
144- if magneticContractArgs.RatioMolecule, err = vm.AsInt64(insts[2].Data); err != nil {
144+ if magneticContractArgs.RatioNumerator, err = vm.AsInt64(insts[2].Data); err != nil {
145145 return nil, err
146146 }
147147
--- a/protocol/validation/tx_test.go
+++ b/protocol/validation/tx_test.go
@@ -880,7 +880,7 @@ func TestValidateTxVersion(t *testing.T) {
880880 func TestMagneticContractTx(t *testing.T) {
881881 buyerArgs := vmutil.MagneticContractArgs{
882882 RequestedAsset: bc.AssetID{V0: 1},
883- RatioMolecule: 1,
883+ RatioNumerator: 1,
884884 RatioDenominator: 2,
885885 SellerProgram: []byte{0x51},
886886 SellerKey: testutil.MustDecodeHexString("960ecabafb88ba460a40912841afecebf0e84884178611ac97210e327c0d1173"),
@@ -888,7 +888,7 @@ func TestMagneticContractTx(t *testing.T) {
888888
889889 sellerArgs := vmutil.MagneticContractArgs{
890890 RequestedAsset: bc.AssetID{V0: 2},
891- RatioMolecule: 2,
891+ RatioNumerator: 2,
892892 RatioDenominator: 1,
893893 SellerProgram: []byte{0x52},
894894 SellerKey: testutil.MustDecodeHexString("ad79ec6bd3a6d6dbe4d0ee902afc99a12b9702fb63edce5f651db3081d868b75"),
@@ -1083,7 +1083,7 @@ func TestMagneticContractTx(t *testing.T) {
10831083 func TestRingMagneticContractTx(t *testing.T) {
10841084 aliceArgs := vmutil.MagneticContractArgs{
10851085 RequestedAsset: bc.AssetID{V0: 1},
1086- RatioMolecule: 2,
1086+ RatioNumerator: 2,
10871087 RatioDenominator: 1,
10881088 SellerProgram: []byte{0x51},
10891089 SellerKey: testutil.MustDecodeHexString("960ecabafb88ba460a40912841afecebf0e84884178611ac97210e327c0d1173"),
@@ -1091,7 +1091,7 @@ func TestRingMagneticContractTx(t *testing.T) {
10911091
10921092 bobArgs := vmutil.MagneticContractArgs{
10931093 RequestedAsset: bc.AssetID{V0: 2},
1094- RatioMolecule: 2,
1094+ RatioNumerator: 2,
10951095 RatioDenominator: 1,
10961096 SellerProgram: []byte{0x52},
10971097 SellerKey: testutil.MustDecodeHexString("ad79ec6bd3a6d6dbe4d0ee902afc99a12b9702fb63edce5f651db3081d868b75"),
@@ -1099,7 +1099,7 @@ func TestRingMagneticContractTx(t *testing.T) {
10991099
11001100 jackArgs := vmutil.MagneticContractArgs{
11011101 RequestedAsset: bc.AssetID{V0: 3},
1102- RatioMolecule: 1,
1102+ RatioNumerator: 1,
11031103 RatioDenominator: 4,
11041104 SellerProgram: []byte{0x53},
11051105 SellerKey: testutil.MustDecodeHexString("9c19a91988c62046c2767bd7e9999b0c142891b9ebf467bfa59210b435cb0de7"),
--- a/protocol/vm/vmutil/script.go
+++ b/protocol/vm/vmutil/script.go
@@ -16,7 +16,7 @@ var (
1616 // MagneticContractArgs is a struct for magnetic contract arguments
1717 type MagneticContractArgs struct {
1818 RequestedAsset bc.AssetID
19- RatioMolecule int64
19+ RatioNumerator int64
2020 RatioDenominator int64
2121 SellerProgram []byte
2222 SellerKey []byte
@@ -149,7 +149,7 @@ func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
149149 builder := NewBuilder()
150150 builder.AddInt64(0)
151151 builder.AddData(magneticContractArgs.RequestedAsset.Bytes())
152- builder.AddInt64(magneticContractArgs.RatioMolecule)
152+ builder.AddInt64(magneticContractArgs.RatioNumerator)
153153 builder.AddInt64(magneticContractArgs.RatioDenominator)
154154 builder.AddData(magneticContractArgs.SellerProgram)
155155 builder.AddData(magneticContractArgs.SellerKey)
@@ -160,20 +160,20 @@ func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
160160 //
161161 // MagneticContract source code:
162162 // contract MagneticContract(requestedAsset: Asset,
163-// ratioMolecule: Integer,
163+// ratioNumerator: Integer,
164164 // ratioDenominator: Integer,
165165 // sellerProgram: Program,
166166 // standardProgram: Program,
167167 // sellerKey: PublicKey) locks valueAmount of valueAsset {
168168 // clause partialTrade(exchangeAmount: Amount) {
169-// define actualAmount: Integer = exchangeAmount * ratioDenominator / ratioMolecule
169+// define actualAmount: Integer = exchangeAmount * ratioDenominator / ratioNumerator
170170 // verify actualAmount > 0 && actualAmount < valueAmount
171171 // lock exchangeAmount of requestedAsset with sellerProgram
172172 // lock valueAmount-actualAmount of valueAsset with standardProgram
173173 // unlock actualAmount of valueAsset
174174 // }
175175 // clause fullTrade() {
176-// define requestedAmount: Integer = valueAmount * ratioMolecule / ratioDenominator
176+// define requestedAmount: Integer = valueAmount * ratioNumerator / ratioDenominator
177177 // verify requestedAmount > 0
178178 // lock requestedAmount of requestedAsset with sellerProgram
179179 // unlock valueAmount of valueAsset
@@ -185,24 +185,24 @@ func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
185185 // }
186186 //
187187 // contract stack flow:
188-// 7 [... <position> <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset 7]
189-// ROLL [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <position>]
190-// TOALTSTACK [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
191-// 6 [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset 6]
192-// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector>]
193-// DUP [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector> <clause selector>]
194-// 2 [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector> <clause selector> 2]
195-// NUMEQUAL [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector> (<clause selector> == 2)]
196-// JUMPIF:$cancel [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector>]
197-// JUMPIF:$fullTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
198-// $partialTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
199-// 6 [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset 6]
200-// PICK [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset exchangeAmount]
201-// 3 [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset exchangeAmount 3]
202-// ROLL [... exchangeAmount sellerKey standardProgram sellerProgram ratioMolecule requestedAsset exchangeAmount ratioDenominator]
203-// MUL [... exchangeAmount sellerKey standardProgram sellerProgram ratioMolecule requestedAsset (exchangeAmount * ratioDenominator)]
204-// 2 [... exchangeAmount sellerKey standardProgram sellerProgram ratioMolecule requestedAsset (exchangeAmount * ratioDenominator) 2]
205-// ROLL [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset (exchangeAmount * ratioDenominator) ratioMolecule]
188+// 7 [... <position> <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 7]
189+// ROLL [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <position>]
190+// TOALTSTACK [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
191+// 6 [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
192+// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
193+// DUP [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> <clause selector>]
194+// 2 [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> <clause selector> 2]
195+// NUMEQUAL [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> (<clause selector> == 2)]
196+// JUMPIF:$cancel [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
197+// JUMPIF:$fullTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
198+// $partialTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
199+// 6 [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
200+// PICK [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset exchangeAmount]
201+// 3 [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset exchangeAmount 3]
202+// ROLL [... exchangeAmount sellerKey standardProgram sellerProgram ratioNumerator requestedAsset exchangeAmount ratioDenominator]
203+// MUL [... exchangeAmount sellerKey standardProgram sellerProgram ratioNumerator requestedAsset (exchangeAmount * ratioDenominator)]
204+// 2 [... exchangeAmount sellerKey standardProgram sellerProgram ratioNumerator requestedAsset (exchangeAmount * ratioDenominator) 2]
205+// ROLL [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset (exchangeAmount * ratioDenominator) ratioNumerator]
206206 // DIV [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount]
207207 // AMOUNT [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount]
208208 // OVER [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount actualAmount]
@@ -239,14 +239,14 @@ func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
239239 // 4 [... sellerKey standardProgram (<position> + 1) (valueAmount - actualAmount) valueAsset 1 4]
240240 // ROLL [... sellerKey (<position> + 1) (valueAmount - actualAmount) valueAsset 1 standardProgram]
241241 // CHECKOUTPUT [... sellerKey checkOutput((valueAmount - actualAmount), valueAsset, standardProgram)]
242-// JUMP:$_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
243-// $fullTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
244-// AMOUNT [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset valueAmount]
245-// 2 [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset valueAmount 2]
246-// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset valueAmount ratioMolecule]
247-// MUL [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset (valueAmount * ratioMolecule)]
248-// 2 [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset (valueAmount * ratioMolecule) 2]
249-// ROLL [... sellerKey standardProgram sellerProgram requestedAsset (valueAmount * ratioMolecule) ratioDenominator]
242+// JUMP:$_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
243+// $fullTrade [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
244+// AMOUNT [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset valueAmount]
245+// 2 [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset valueAmount 2]
246+// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset valueAmount ratioNumerator]
247+// MUL [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset (valueAmount * ratioNumerator)]
248+// 2 [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset (valueAmount * ratioNumerator) 2]
249+// ROLL [... sellerKey standardProgram sellerProgram requestedAsset (valueAmount * ratioNumerator) ratioDenominator]
250250 // DIV [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount]
251251 // DUP [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount requestedAmount]
252252 // 0 [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount requestedAmount 0]
@@ -260,15 +260,15 @@ func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
260260 // 4 [... sellerKey standardProgram sellerProgram <position> requestedAmount requestedAsset 1 4]
261261 // ROLL [... sellerKey standardProgram <position> requestedAmount requestedAsset 1 sellerProgram]
262262 // CHECKOUTPUT [... sellerKey standardProgram checkOutput(requestedAmount, requestedAsset, sellerProgram)]
263-// JUMP:$_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
264-// $cancel [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset <clause selector>]
265-// DROP [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
266-// 6 [... sellerSig sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset 6]
267-// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset sellerSig]
268-// 6 [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset sellerSig 6]
269-// ROLL [... standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset sellerSig sellerKey]
270-// TXSIGHASH SWAP CHECKSIG [... standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset checkTxSig(sellerKey, sellerSig)]
271-// $_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioMolecule requestedAsset]
263+// JUMP:$_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
264+// $cancel [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
265+// DROP [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
266+// 6 [... sellerSig sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
267+// ROLL [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig]
268+// 6 [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig 6]
269+// ROLL [... standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig sellerKey]
270+// TXSIGHASH SWAP CHECKSIG [... standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset checkTxSig(sellerKey, sellerSig)]
271+// $_end [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
272272 func P2MCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
273273 standardProgram, err := P2WMCProgram(magneticContractArgs)
274274 if err != nil {
@@ -281,7 +281,7 @@ func P2MCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
281281 builder.AddData(standardProgram)
282282 builder.AddData(magneticContractArgs.SellerProgram)
283283 builder.AddInt64(magneticContractArgs.RatioDenominator)
284- builder.AddInt64(magneticContractArgs.RatioMolecule)
284+ builder.AddInt64(magneticContractArgs.RatioNumerator)
285285 builder.AddData(magneticContractArgs.RequestedAsset.Bytes())
286286
287287 // contract instructions
Show on old repository browser