1
+ import network.xyo.client.payload.Payload
2
+
3
+ class IdPayload (val salt : String ): Payload {
4
+ constructor (salt: UInt ) : this (" ${salt} " )
5
+ override var schema = " network.xyo.id"
6
+ }
7
+
8
+ data class BoundWitnessSequenceTestCase (
9
+ val mnemonics : List <String >,
10
+ val paths : List <String >,
11
+ val addresses : List <String >,
12
+ val payloads : List <Payload >,
13
+ val payloadHashes : List <String >,
14
+ val previousHashes : List <String ?>,
15
+ val dataHash : String
16
+ )
17
+
18
+ // Define the PayloadsWithHashes data class
19
+ data class PayloadsWithHashes (
20
+ val payloads : List <Payload >,
21
+ val payloadHashes : List <String >
22
+ )
23
+
24
+ // Initialize payload sequences
25
+ val payloadSequences: List <PayloadsWithHashes > = listOf (
26
+ PayloadsWithHashes (
27
+ payloads = listOf (IdPayload (0u )),
28
+ payloadHashes = listOf (
29
+ " ada56ff753c0c9b2ce5e1f823eda9ac53501db2843d8883d6cf6869c18ef7f65"
30
+ )
31
+ ),
32
+ PayloadsWithHashes (
33
+ payloads = listOf (IdPayload (1u )),
34
+ payloadHashes = listOf (
35
+ " 3a3b8deca568ff820b0b7c8714fbdf82b40fb54f4b15aca8745e06b81291558e"
36
+ )
37
+ ),
38
+ PayloadsWithHashes (
39
+ payloads = listOf (IdPayload (2u ), IdPayload (3u )),
40
+ payloadHashes = listOf (
41
+ " 1a40207fab71fc184e88557d5bee6196cbbb49f11f73cda85000555a628a8f0a" ,
42
+ " c4bce9b4d3239fcc9a248251d1bef1ba7677e3c0c2c43ce909a6668885b519e6"
43
+ )
44
+ ),
45
+ PayloadsWithHashes (
46
+ payloads = listOf (IdPayload (4u ), IdPayload (5u )),
47
+ payloadHashes = listOf (
48
+ " 59c0374dd801ae64ddddba27320ca028d7bd4b3d460f6674c7da1b4aa9c956d6" ,
49
+ " 5d9b8e84bc824280fcbb6290904c2edbb401d626ad9789717c0a23d1cab937b0"
50
+ )
51
+ )
52
+ )
53
+
54
+ // Define wallet mnemonics, paths, and addresses
55
+ const val wallet1Mnemonic =
56
+ " report door cry include salad horn recipe luxury access pledge husband maple busy double olive"
57
+ const val wallet1Path = " m/44'/60'/0'/0/0"
58
+ const val wallet1Address = " 25524Ca99764D76CA27604Bb9727f6e2f27C4533"
59
+
60
+ const val wallet2Mnemonic =
61
+ " turn you orphan sauce act patient village entire lava transfer height sense enroll quit idle"
62
+ const val wallet2Path = " m/44'/60'/0'/0/0"
63
+ const val wallet2Address = " FdCeD2c3549289049BeBf743fB721Df211633fBF"
64
+
65
+ // Initialize BoundWitnessSequenceTestCase instances
66
+ val boundWitnessSequenceTestCase1 = BoundWitnessSequenceTestCase (
67
+ mnemonics = listOf (wallet1Mnemonic),
68
+ paths = listOf (wallet1Path),
69
+ addresses = listOf (wallet1Address),
70
+ payloads = payloadSequences[0 ].payloads,
71
+ payloadHashes = payloadSequences[0 ].payloadHashes,
72
+ previousHashes = listOf (null ),
73
+ dataHash = " 750113b9826ba94b622667b06cd8467f1330837581c28907c16160fec20d0a4b"
74
+ )
75
+
76
+ val boundWitnessSequenceTestCase2 = BoundWitnessSequenceTestCase (
77
+ mnemonics = listOf (wallet2Mnemonic),
78
+ paths = listOf (wallet2Path),
79
+ addresses = listOf (wallet2Address),
80
+ payloads = payloadSequences[1 ].payloads,
81
+ payloadHashes = payloadSequences[1 ].payloadHashes,
82
+ previousHashes = listOf (null ),
83
+ dataHash = " bacd010d79126a154339e59c11c5b46be032c3bef65626f83bcafe968dc6dd1b"
84
+ )
85
+
86
+ val boundWitnessSequenceTestCase3 = BoundWitnessSequenceTestCase (
87
+ mnemonics = listOf (wallet1Mnemonic, wallet2Mnemonic),
88
+ paths = listOf (wallet1Path, wallet2Path),
89
+ addresses = listOf (wallet1Address, wallet2Address),
90
+ payloads = payloadSequences[2 ].payloads,
91
+ payloadHashes = payloadSequences[2 ].payloadHashes,
92
+ previousHashes = listOf (
93
+ " 750113b9826ba94b622667b06cd8467f1330837581c28907c16160fec20d0a4b" ,
94
+ " bacd010d79126a154339e59c11c5b46be032c3bef65626f83bcafe968dc6dd1b"
95
+ ),
96
+ dataHash = " 73245ef73517913f4b57c12d56d81199968ecd8fbefea9ddc474f43dd6cfa8c8"
97
+ )
98
+
99
+ val boundWitnessSequenceTestCase4 = BoundWitnessSequenceTestCase (
100
+ mnemonics = listOf (wallet1Mnemonic, wallet2Mnemonic),
101
+ paths = listOf (wallet1Path, wallet2Path),
102
+ addresses = listOf (wallet1Address, wallet2Address),
103
+ payloads = payloadSequences[3 ].payloads,
104
+ payloadHashes = payloadSequences[3 ].payloadHashes,
105
+ previousHashes = listOf (
106
+ " 73245ef73517913f4b57c12d56d81199968ecd8fbefea9ddc474f43dd6cfa8c8" ,
107
+ " 73245ef73517913f4b57c12d56d81199968ecd8fbefea9ddc474f43dd6cfa8c8"
108
+ ),
109
+ dataHash = " 210d86ea43d82b85a49b77959a8ee4e6016ff7036254cfa39953befc66073010"
110
+ )
111
+
112
+ // Aggregate all test cases into a list
113
+ val boundWitnessSequenceTestCases = listOf (
114
+ boundWitnessSequenceTestCase1,
115
+ boundWitnessSequenceTestCase2,
116
+ boundWitnessSequenceTestCase3,
117
+ boundWitnessSequenceTestCase4
118
+ )
0 commit comments