@@ -26,6 +26,27 @@ var tests = [
26
26
rawTransaction : "0xf868808504a817c80082520894f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008026a0afa02d193471bb974081585daabf8a751d4decbb519604ac7df612cc11e9226da04bf1bd55e82cebb2b09ed39bbffe35107ea611fa212c2d9a1f1ada4952077118" ,
27
27
oldSignature : "0xf868808504a817c80082520894f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008026a0afa02d193471bb974081585daabf8a751d4decbb519604ac7df612cc11e9226da04bf1bd55e82cebb2b09ed39bbffe35107ea611fa212c2d9a1f1ada4952077118"
28
28
} ,
29
+ {
30
+ address : '0x2c7536E3605D9C16a7a3D7b1898e529396a65c23' ,
31
+ iban : 'XE0556YCRTEZ9JALZBSCXOK4UJ5F3HN03DV' ,
32
+ privateKey : '0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318' ,
33
+ transaction : {
34
+ chainId : 1 ,
35
+ nonce : 0 ,
36
+ gasPrice : "234567897654321" ,
37
+ gas : 2000000 ,
38
+ to : '0xF0109fC8DF283027b6285cc889F5aA624EaC1F55' ,
39
+ toIban : 'XE04S1IRT2PR8A8422TPBL9SR6U0HODDCUT' , // will be switched to "to" in the test
40
+ value : "1000000000" ,
41
+ data : ""
42
+ } ,
43
+ // expected r and s values from signature
44
+ r : "0x9ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9c" ,
45
+ s : "0x440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428" ,
46
+ // signature from eth_signTransaction
47
+ rawTransaction : "0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428" ,
48
+ oldSignature : "0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428"
49
+ } ,
29
50
{
30
51
address : '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0' ,
31
52
iban : 'XE25RG8S3H5TX5RD7QTL5UPVW90AHN2VYDC' ,
@@ -82,6 +103,20 @@ describe("eth", function () {
82
103
} ) ;
83
104
} ) ;
84
105
106
+ tests . forEach ( function ( test , i ) {
107
+ it ( "signTransaction must produce r and s as quantities, not data" , function ( ) {
108
+ if ( ! ( 'r' in test ) ) {
109
+ return ;
110
+ }
111
+ var ethAccounts = new Accounts ( ) ;
112
+
113
+ var signature = ethAccounts . signTransaction ( test . transaction , test . privateKey ) ;
114
+
115
+ assert . equal ( signature . r , test . r ) ;
116
+ assert . equal ( signature . s , test . s ) ;
117
+ } ) ;
118
+ } ) ;
119
+
85
120
tests . forEach ( function ( test , i ) {
86
121
it ( "signTransaction using the iban as \"to\" must compare to eth_signTransaction" , function ( ) {
87
122
var ethAccounts = new Accounts ( ) ;
0 commit comments