Skip to content

Commit e866d40

Browse files
committed
[test] add real micheline cases
1 parent 3bff864 commit e866d40

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+89
-0
lines changed

tests/integration/nano/test_sign/operations/test_sign_micheline.py

+89
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,94 @@
259259

260260
]
261261

262+
real_cases: List[Tuple[Micheline, str]] = [
263+
264+
({"prim": "pair", 'args': [
265+
{"prim": "pair", "annots": [":payload"], 'args': [
266+
{"prim": "nat", "annots": [":counter"]},
267+
{"prim": "or", "annots": [":action"], 'args': [
268+
{"prim": "pair", "annots": [":transfer"], 'args': [
269+
{"prim": "mutez", "annots": [":amount"]},
270+
{"prim": "contract", "annots": [":dest"], 'args': [{"prim": "unit"}]}
271+
]},
272+
{"prim": "or", 'args': [
273+
{"prim": "option", "annots": [":delegate"], 'args': [{"prim": "key_hash"}]},
274+
{"prim": "pair", "annots": [":change_keys"], 'args': [
275+
{"prim": "nat", "annots": [":threshold"]},
276+
{"prim": "list", "annots": [":keys"], 'args': [{"prim": "key"}]}
277+
]}
278+
]}
279+
]}
280+
]},
281+
{"prim": "list", "annots": [":sigs"], 'args': [{"prim": "option", 'args': [{"prim": "signature"}]}]}
282+
]}, "type"),
283+
284+
({"prim": "Pair", 'args': [
285+
{"prim": "Pair", 'args': [
286+
{"int": 42},
287+
{"prim": "Left", 'args': [
288+
{"prim": "Pair", 'args': [
289+
{"int": 123456789},
290+
{"string": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU"}
291+
]},
292+
]},
293+
]},
294+
[
295+
{"prim": "Some", 'args': [
296+
{"string": "edsigtXomBKi5CTRf5cjATJWSyaRvhfYNHqSUGrn4SdbYRcGwQrUGjzEfQDTuqHhuA8b2d8NarZjz8TRf65WkpQmo423BtomS8Q"}
297+
]},
298+
{"prim": "None"}
299+
]
300+
]}, "data"),
301+
302+
([
303+
{"prim": "UNPAIR"}, {"prim": "SWAP"}, {"prim": "DUP"}, {"prim": "DIP", 'args': [[{"prim": "SWAP"}]]},
304+
{"prim": "DIP", 'args': [[
305+
{"prim": "UNPAIR"},
306+
{"prim": "DUP"}, {"prim": "SELF"}, {"prim": "ADDRESS"}, {"prim": "CHAIN_ID"}, {"prim": "PAIR"}, {"prim": "PAIR"},
307+
{"prim": "PACK"},
308+
{"prim": "DIP", 'args': [[{"prim": "UNPAIR", "annots": ["@counter"]}, {"prim": "DIP", 'args': [[{"prim": "SWAP"}]]}]]}, {"prim": "SWAP"},
309+
]]},
310+
{"prim": "UNPAIR", "annots": ["@stored_counter"]}, {"prim": "DIP", 'args': [[{"prim": "SWAP"}]]},
311+
{"prim": "COMPARE"}, {"prim": "EQ"}, {"prim": "IF", 'args': [[], [{"prim": "UNIT"}, {"prim": "FAILWITH"}]]},
312+
{"prim": "DIP", 'args': [[{"prim": "SWAP"}]]}, {"prim": "UNPAIR", "annots": ["@threshold", "@keys"]},
313+
{"prim": "DIP", 'args': [[
314+
{"prim": "PUSH", "annots": ["@valid"], 'args': [{"prim": "nat"}, {"int": 0}]}, {"prim": "SWAP"},
315+
{"prim": "ITER", 'args': [[
316+
{"prim": "DIP", 'args': [[{"prim": "SWAP"}]]}, {"prim": "SWAP"},
317+
{"prim": "IF_CONS", 'args': [
318+
[{"prim": "IF_NONE", 'args': [
319+
[{"prim": "SWAP"}, {"prim": "DROP"}],
320+
[
321+
{"prim": "SWAP"},
322+
{"prim": "DIP", 'args': [[
323+
{"prim": "SWAP"}, {"prim": "DIP", 'args': [[{"prim": "DIP", 'args': [[{"prim": "DUP"}]]}, {"prim": "SWAP"}]]},
324+
{"prim": "CHECK_SIGNATURE"}, {"prim": "IF", 'args': [[], [{"prim": "UNIT"}, {"prim": "FAILWITH"}]]},
325+
{"prim": "PUSH", 'args': [{"prim": "nat"}, {"int": 1}]}, {"prim": "ADD", "annots": ["@valid"]},
326+
]]},
327+
],
328+
]}],
329+
[{"prim": "UNIT"}, {"prim": "FAILWITH"}],
330+
]},
331+
{"prim": "SWAP"},
332+
]]},
333+
]]},
334+
{"prim": "COMPARE"}, {"prim": "LE"}, {"prim": "IF", 'args': [[], [{"prim": "UNIT"}, {"prim": "FAILWITH"}]]},
335+
{"prim": "DROP"}, {"prim": "DROP"},
336+
{"prim": "DIP", 'args': [[{"prim": "UNPAIR"}, {"prim": "PUSH", 'args': [{"prim": "nat"}, {"int": 1}]}, {"prim": "ADD", "annots": ["@new_counter"]}, {"prim": "PAIR"}]]},
337+
{"prim": "NIL", 'args': [{"prim": "operation"}]}, {"prim": "SWAP"},
338+
{"prim": "IF_LEFT", 'args': [
339+
[{"prim": "UNPAIR"}, {"prim": "UNIT"}, {"prim": "TRANSFER_TOKENS"}, {"prim": "CONS"}],
340+
[{"prim": "IF_LEFT", 'args': [
341+
[{"prim": "SET_DELEGATE"}, {"prim": "CONS"}],
342+
[{"prim": "DIP", 'args': [[{"prim": "SWAP"}, {"prim": "CAR"}]]}, {"prim": "SWAP"}, {"prim": "PAIR"}, {"prim": "SWAP"}],
343+
]}],
344+
]},
345+
{"prim": "PAIR"},
346+
], "code"),
347+
348+
]
349+
262350

263351
def _param(micheline: Micheline, name: str, category: str) -> ParameterSet:
264352
return pytest.param(micheline, id=f'{category}-{name}')
@@ -279,6 +367,7 @@ def _all_params(cases: List[Tuple[List[Tuple[Micheline, str]], str]]) -> List[Pa
279367
(bytes_cases, "bytes"),
280368
(string_cases, "string"),
281369
(prim_cases, "prim"),
370+
(real_cases, "real"),
282371
])
283372
)
284373
def test_sign_micheline(

0 commit comments

Comments
 (0)