Use dot to separate purpose from validator name in blueprint
The rationale is two folds: 1. It's more consistent with how we already separate the validator name from its module. 2. Because `_` may be present in Aiken's validator's name, it is hard to read and I am afraid it could potentially conflict later on. So it's better to use a separator that cannot appear in validator names.
This commit is contained in:
parent
ed55f03aa2
commit
8c2fdf9ad4
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Foo {\n foo: Int\n}\n\nvalidator annotated_data {\n spend(datum: Option<Data<Foo>>, redeemer: Data, output_reference: Data, transpose: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Foo {\n foo: Int\n}\n\nvalidator annotated_data {\n spend(datum: Option<Data<Foo>>, redeemer: Data, output_reference: Data, transpose: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.annotated_data_spend",
|
"title": "test_module.annotated_data.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Either<left, right> {\n Left(left)\n Right(right)\n}\n\npub type Interval<a> {\n Finite(a)\n Infinite\n}\n\nvalidator generics {\n spend(datum: Option<Data>, redeemer: Either<ByteArray, Interval<Int>>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Either<left, right> {\n Left(left)\n Right(right)\n}\n\npub type Interval<a> {\n Finite(a)\n Infinite\n}\n\nvalidator generics {\n spend(datum: Option<Data>, redeemer: Either<ByteArray, Interval<Int>>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.generics_spend",
|
"title": "test_module.generics.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Dict<key, value> {\n inner: List<(ByteArray, value)>\n}\n\npub type UUID { UUID }\n\nvalidator list_2_tuples_as_list {\n mint(redeemer: Dict<UUID, Int>, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Dict<key, value> {\n inner: List<(ByteArray, value)>\n}\n\npub type UUID { UUID }\n\nvalidator list_2_tuples_as_list {\n mint(redeemer: Dict<UUID, Int>, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.list_2_tuples_as_list_mint",
|
"title": "test_module.list_2_tuples_as_list.mint",
|
||||||
"redeemer": {
|
"redeemer": {
|
||||||
"title": "redeemer",
|
"title": "redeemer",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Dict<key, value> {\n inner: List<Pair<ByteArray, value>>\n}\n\npub type UUID { UUID }\n\nvalidator list_pairs_as_map {\n spend(datum: Option<Data>, redeemer: Dict<UUID, Int>, _output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Dict<key, value> {\n inner: List<Pair<ByteArray, value>>\n}\n\npub type UUID { UUID }\n\nvalidator list_pairs_as_map {\n spend(datum: Option<Data>, redeemer: Dict<UUID, Int>, _output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.list_pairs_as_map_spend",
|
"title": "test_module.list_pairs_as_map.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
source: crates/aiken-project/src/blueprint/validator.rs
|
source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\nvalidator thing {\n mint(redeemer: Data, policy_id: Data, transaction: Data) {\n True\n }\n}\n// "
|
description: "Code:\n\nvalidator thing {\n mint(redeemer: Data, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n// "
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.thing_mint",
|
"title": "test_module.thing.mint",
|
||||||
"redeemer": {
|
"redeemer": {
|
||||||
"title": "redeemer",
|
"title": "redeemer",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\nvalidator thing(utxo_ref: Int) {\n mint(redeemer: Data, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n// "
|
description: "Code:\n\nvalidator thing(utxo_ref: Int) {\n mint(redeemer: Data, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n// "
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.thing_mint",
|
"title": "test_module.thing.mint",
|
||||||
"redeemer": {
|
"redeemer": {
|
||||||
"title": "redeemer",
|
"title": "redeemer",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Foo {\n foo: Data\n}\n\nvalidator nested_data {\n spend(datum: Option<Foo>, redeemer: Int, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Foo {\n foo: Data\n}\n\nvalidator nested_data {\n spend(datum: Option<Foo>, redeemer: Int, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.nested_data_spend",
|
"title": "test_module.nested_data.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type LinkedList<a> {\n Cons(a, LinkedList<a>)\n Nil\n}\n\npub type Foo {\n Foo {\n foo: LinkedList<Bool>,\n }\n Bar {\n bar: Int,\n baz: (ByteArray, List<LinkedList<Int>>)\n }\n}\n\nvalidator recursive_generic_types {\n spend(datum: Option<Foo>, redeemer: LinkedList<Int>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type LinkedList<a> {\n Cons(a, LinkedList<a>)\n Nil\n}\n\npub type Foo {\n Foo {\n foo: LinkedList<Bool>,\n }\n Bar {\n bar: Int,\n baz: (ByteArray, List<LinkedList<Int>>)\n }\n}\n\nvalidator recursive_generic_types {\n spend(datum: Option<Foo>, redeemer: LinkedList<Int>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.recursive_generic_types_spend",
|
"title": "test_module.recursive_generic_types.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\npub type Expr {\n Val(Int)\n Sum(Expr, Expr)\n Mul(Expr, Expr)\n}\n\nvalidator recursive_types {\n spend(datum: Option<Data>, redeemer: Expr, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\npub type Expr {\n Val(Int)\n Sum(Expr, Expr)\n Mul(Expr, Expr)\n}\n\nvalidator recursive_types {\n spend(datum: Option<Data>, redeemer: Expr, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.recursive_types_spend",
|
"title": "test_module.recursive_types.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\n/// On-chain state\npub type State {\n /// The contestation period as a number of seconds\n contestationPeriod: ContestationPeriod,\n /// List of public key hashes of all participants\n parties: List<Party>,\n utxoHash: Hash<Blake2b_256>,\n}\n\n/// A Hash digest for a given algorithm.\npub type Hash<alg> = ByteArray\n\npub type Blake2b_256 { Blake2b_256 }\n\n/// Whatever\npub type ContestationPeriod {\n /// A positive, non-zero number of seconds.\n ContestationPeriod(Int)\n}\n\npub type Party =\n ByteArray\n\npub type Input {\n CollectCom\n Close\n /// Abort a transaction\n Abort\n}\n\nvalidator simplified_hydra {\n spend(datum: Option<State>, redeemer: Input, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\n/// On-chain state\npub type State {\n /// The contestation period as a number of seconds\n contestationPeriod: ContestationPeriod,\n /// List of public key hashes of all participants\n parties: List<Party>,\n utxoHash: Hash<Blake2b_256>,\n}\n\n/// A Hash digest for a given algorithm.\npub type Hash<alg> = ByteArray\n\npub type Blake2b_256 { Blake2b_256 }\n\n/// Whatever\npub type ContestationPeriod {\n /// A positive, non-zero number of seconds.\n ContestationPeriod(Int)\n}\n\npub type Party =\n ByteArray\n\npub type Input {\n CollectCom\n Close\n /// Abort a transaction\n Abort\n}\n\nvalidator simplified_hydra {\n spend(datum: Option<State>, redeemer: Input, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.simplified_hydra_spend",
|
"title": "test_module.simplified_hydra.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
|
||||||
description: "Code:\n\nvalidator tuples {\n spend(datum: Option<(Int, ByteArray)>, redeemer: (Int, Int, Int), output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
description: "Code:\n\nvalidator tuples {\n spend(datum: Option<(Int, ByteArray)>, redeemer: (Int, Int, Int), output_reference: Data, transaction: Data) {\n True\n }\n}\n"
|
||||||
---
|
---
|
||||||
{
|
{
|
||||||
"title": "test_module.tuples_spend",
|
"title": "test_module.tuples.spend",
|
||||||
"datum": {
|
"datum": {
|
||||||
"title": "datum",
|
"title": "datum",
|
||||||
"schema": {
|
"schema": {
|
||||||
|
|
|
@ -196,16 +196,7 @@ impl Validator {
|
||||||
};
|
};
|
||||||
|
|
||||||
Ok(Validator {
|
Ok(Validator {
|
||||||
title: format!(
|
title: format!("{}.{}.{}", &module.name, &def.name, &func.name,),
|
||||||
"{}.{}_{}",
|
|
||||||
&module.name,
|
|
||||||
&def.name,
|
|
||||||
if func.name == well_known::VALIDATOR_ELSE {
|
|
||||||
"__fallback"
|
|
||||||
} else {
|
|
||||||
&func.name
|
|
||||||
}
|
|
||||||
),
|
|
||||||
description: func.doc.clone(),
|
description: func.doc.clone(),
|
||||||
parameters,
|
parameters,
|
||||||
datum,
|
datum,
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@v2" = [{ secs_since_epoch = 1723824703, nanos_since_epoch = 979555000 }, "cdbbce58b61deb385e7ea787a2e0fc2dc8fe94db9999e0e6275bc9c70e5796be"]
|
"aiken-lang/stdlib@v2" = [{ secs_since_epoch = 1724491200, nanos_since_epoch = 427525000 }, "cdbbce58b61deb385e7ea787a2e0fc2dc8fe94db9999e0e6275bc9c70e5796be"]
|
||||||
|
|
|
@ -93,7 +93,7 @@
|
||||||
]
|
]
|
||||||
, [ 2
|
, [ 2
|
||||||
, [ 1
|
, [ 1
|
||||||
, h'{{ certificates.purposes_publish.hash }}'
|
, h'{{ certificates.purposes.publish.hash }}'
|
||||||
]
|
]
|
||||||
, h'11111111111111111111111111111111111111111111111111111111'
|
, h'11111111111111111111111111111111111111111111111111111111'
|
||||||
]
|
]
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
|
|
||||||
{ 5: [[2, 20, 121([]), [1000000, 100000000]]]
|
{ 5: [[2, 20, 121([]), [1000000, 100000000]]]
|
||||||
|
|
||||||
, 7: [h'{{ certificates.purposes_publish.cbor }}']
|
, 7: [h'{{ certificates.purposes.publish.cbor }}']
|
||||||
},
|
},
|
||||||
|
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -11,15 +11,15 @@
|
||||||
, { 0: h'000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
, { 0: h'000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||||
, 1:
|
, 1:
|
||||||
[ 1000000
|
[ 1000000
|
||||||
, { h'{{ mint.test_1_mint.hash }}': { h'74756e61': 100000000000000 }
|
, { h'{{ mint.test_1.mint.hash }}': { h'74756e61': 100000000000000 }
|
||||||
, h'{{ mint.test_2_mint.hash }}': { h'61696b656e': 42 }
|
, h'{{ mint.test_2.mint.hash }}': { h'61696b656e': 42 }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
, { 0: h'100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
, { 0: h'100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||||
, 1:
|
, 1:
|
||||||
[ 1000000
|
[ 1000000
|
||||||
, { h'{{ mint.test_2_mint.hash }}': { h'63617264616e6f': 1 }
|
, { h'{{ mint.test_2.mint.hash }}': { h'63617264616e6f': 1 }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
, 3: 24(h'82034463666F6F')
|
, 3: 24(h'82034463666F6F')
|
||||||
|
@ -29,10 +29,10 @@
|
||||||
, 2: 42
|
, 2: 42
|
||||||
|
|
||||||
, 9:
|
, 9:
|
||||||
{ h'{{ mint.test_1_mint.hash }}':
|
{ h'{{ mint.test_1.mint.hash }}':
|
||||||
{ h'74756e61': 100000000000000
|
{ h'74756e61': 100000000000000
|
||||||
}
|
}
|
||||||
, h'{{ mint.test_2_mint.hash }}':
|
, h'{{ mint.test_2.mint.hash }}':
|
||||||
{ h'63617264616e6f': 1
|
{ h'63617264616e6f': 1
|
||||||
, h'61696b656e': -14
|
, h'61696b656e': -14
|
||||||
}
|
}
|
||||||
|
@ -65,8 +65,8 @@
|
||||||
]
|
]
|
||||||
|
|
||||||
, 7:
|
, 7:
|
||||||
[ h'{{ mint.test_1_mint.cbor }}'
|
[ h'{{ mint.test_1.mint.cbor }}'
|
||||||
, h'{{ mint.test_2_mint.cbor }}'
|
, h'{{ mint.test_2.mint.cbor }}'
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
, h'F000000000000000000000000000000000000000000000000000000000'
|
, h'F000000000000000000000000000000000000000000000000000000000'
|
||||||
, [ 2
|
, [ 2
|
||||||
, { h'E022222222222222222222222222222222222222222222222222222222': 1000000 }
|
, { h'E022222222222222222222222222222222222222222222222222222222': 1000000 }
|
||||||
, h'{{ proposing_all.guardrails_propose.hash }}'
|
, h'{{ proposing_all.guardrails.propose.hash }}'
|
||||||
]
|
]
|
||||||
, [ "https://aiken-lang.org"
|
, [ "https://aiken-lang.org"
|
||||||
, h'0000000000000000000000000000000000000000000000000000000000000000'
|
, h'0000000000000000000000000000000000000000000000000000000000000000'
|
||||||
|
@ -112,7 +112,7 @@
|
||||||
|
|
||||||
{ 5: [[5, 3, 121([]), [1000000, 100000000]]]
|
{ 5: [[5, 3, 121([]), [1000000, 100000000]]]
|
||||||
|
|
||||||
, 7: [h'{{ proposing_all.guardrails_propose.cbor }}']
|
, 7: [h'{{ proposing_all.guardrails.propose.cbor }}']
|
||||||
},
|
},
|
||||||
|
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
, 32: 20
|
, 32: 20
|
||||||
, 33: 30([15, 1])
|
, 33: 30([15, 1])
|
||||||
}
|
}
|
||||||
, h'{{ proposing_pparams.guardrails_propose.hash }}'
|
, h'{{ proposing_pparams.guardrails.propose.hash }}'
|
||||||
]
|
]
|
||||||
, [ "https://aiken-lang.org"
|
, [ "https://aiken-lang.org"
|
||||||
, h'0000000000000000000000000000000000000000000000000000000000000000'
|
, h'0000000000000000000000000000000000000000000000000000000000000000'
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
{ 5: [[5, 0, 121([]), [1000000, 100000000]]]
|
{ 5: [[5, 0, 121([]), [1000000, 100000000]]]
|
||||||
|
|
||||||
, 7: [h'{{ proposing_pparams.guardrails_propose.cbor }}']
|
, 7: [h'{{ proposing_pparams.guardrails.propose.cbor }}']
|
||||||
},
|
},
|
||||||
|
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[
|
[
|
||||||
{ 0: h'70{{ simple_spend.simple_spend_spend.hash }}'
|
{ 0: h'70{{ simple_spend.simple_spend.spend.hash }}'
|
||||||
, 1: 1000000000
|
, 1: 1000000000
|
||||||
, 2: [1, 24(h'd87980')]
|
, 2: [1, 24(h'd87980')]
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
{ 5: [[0, 0, 121([]), [1000000, 100000000]]]
|
{ 5: [[0, 0, 121([]), [1000000, 100000000]]]
|
||||||
|
|
||||||
, 7: [h'{{ simple_spend.simple_spend_spend.cbor }}']
|
, 7: [h'{{ simple_spend.simple_spend.spend.cbor }}']
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
, [ h'7777777777777777777777777777777777777777777777777777777777777777', 2 ]: [ 2, null ]
|
, [ h'7777777777777777777777777777777777777777777777777777777777777777', 2 ]: [ 2, null ]
|
||||||
}
|
}
|
||||||
|
|
||||||
, [ 3, h'{{ voting.purposes_vote.hash }}' ]:
|
, [ 3, h'{{ voting.purposes.vote.hash }}' ]:
|
||||||
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 3 ]: [ 0, null ]
|
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 3 ]: [ 0, null ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 4 ]: [ 1, null ]
|
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 4 ]: [ 1, null ]
|
||||||
}
|
}
|
||||||
|
|
||||||
, [ 1, h'{{ voting.purposes_vote.hash }}' ]:
|
, [ 1, h'{{ voting.purposes.vote.hash }}' ]:
|
||||||
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 1 ]: [ 1, null ]
|
{ [ h'9999999999999999999999999999999999999999999999999999999999999999', 1 ]: [ 1, null ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
, [4, 0, 121([42]), [1000000, 100000000]]
|
, [4, 0, 121([42]), [1000000, 100000000]]
|
||||||
]
|
]
|
||||||
|
|
||||||
, 7: [h'{{ voting.purposes_vote.cbor }}']
|
, 7: [h'{{ voting.purposes.vote.cbor }}']
|
||||||
},
|
},
|
||||||
|
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[
|
[
|
||||||
{ 0: h'30{{ withdraw.thing_spend.hash }}{{ withdraw.thing_spend.hash }}'
|
{ 0: h'30{{ withdraw.thing.spend.hash }}{{ withdraw.thing.spend.hash }}'
|
||||||
, 1: 1000000
|
, 1: 1000000
|
||||||
, 2: [1, 24(h'd87980')]
|
, 2: [1, 24(h'd87980')]
|
||||||
, 3: 24(h'8203{{ withdraw.thing_spend.cbor }}')
|
, 3: 24(h'8203{{ withdraw.thing.spend.cbor }}')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
, 5:
|
, 5:
|
||||||
{ h'E000000000000000000000000000000000000000000000000000000000': 14
|
{ h'E000000000000000000000000000000000000000000000000000000000': 14
|
||||||
, h'F0{{ withdraw.thing_withdraw.hash }}': 0
|
, h'F0{{ withdraw.thing.withdraw.hash }}': 0
|
||||||
}
|
}
|
||||||
|
|
||||||
, 14:
|
, 14:
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue