Skip to content
This repository was archived by the owner on Sep 17, 2024. It is now read-only.

Commit 5dc9c95

Browse files
changed nftName to force the underscore prefix
1 parent 7cc2849 commit 5dc9c95

Some content is hidden

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

46 files changed

+156
-166
lines changed

AUDIT_NOTES.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,4 +113,30 @@ The new validation logic will insure that one catalog should only have one start
113113

114114
# QSP-14 Datum Property cdtTokenizedPid May Cause Confusion
115115

116-
The introduction of script parameterization has made the `cdtTokenizedPid` datum value in the fractionalization redundant. The datum value has been removed and the scripts have been updated.
116+
The introduction of script parameterization has made the `cdtTokenizedPid` datum value in the fractionalization redundant. The datum value has been removed and the scripts have been updated.
117+
118+
# QSP-15 Token Name Collision Even with Unique Prefixes
119+
120+
To prevent potential token name collisions, an additional "_" is now added into the nftName.
121+
122+
The old method:
123+
124+
```hs
125+
nftName prefix num = prefix <> UsefulFuncs.integerAsByteString num
126+
```
127+
128+
This allowed this potential naming collision:
129+
```hs
130+
nftName "TOKEN" 13 == nftName "TOKEN1" 3
131+
```
132+
133+
The new method:
134+
```hs
135+
nftName prefix num = prefix <> "_" <> UsefulFuncs.integerAsByteString num
136+
```
137+
138+
This prevents the naming collision:
139+
```hs
140+
nftName "TOKEN" 13 /= nftName "TOKEN1" 3
141+
-- TOKEN_13 /= TOKEN1_3
142+
```

final.check

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
b1fbeae04e6256636a0b672493f787216507f882a4ddde58dc2b41d2dbd6ca61 ./hash.hashes
2-
3fd0ebcde6f133f32053edf32a011b0192b1c48f402dd988b135b900cb8a26d3 ./policy.hashes
1+
6ca692d032992547edb7d439eb6b66c2eee6817cb5b88be87add5ae0348c314f ./hash.hashes
2+
aa053dc287eb9ae3e6d2cbb3492ca55a572a18b48531e23db6f0fd6deec6280b ./policy.hashes

fractionalize-scripts/03_lockAndFractionalize.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ nft_id=$(cat ../nft-minting-contract/policy.id)
3131
token_name=$(cat ../start_info.json | jq -r .starterTkn)
3232
token_number=$(cat ../tokenize-scripts/data/current_datum.json | jq -r .fields[1].int)
3333

34-
name=${token_name}$(echo -n "${token_number}" | xxd -ps)
34+
name=${token_name}$(echo -n "_${token_number}" | xxd -ps)
3535
name_ascii=$(echo -n "$name" | xxd -p -r)
3636

3737
sed -e "s/<policy_id_hex>/${policy_id}/g" -e "s/<asset_name_ascii>/${name_ascii}/g" ${metadata_json_source} | jq . > /tmp/metadata.json

fractionalize-scripts/04_unlockAndSolidify.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ nft_id=$(cat ../nft-minting-contract/policy.id)
2424
token_name=$(cat ../start_info.json | jq -r .starterTkn)
2525
token_number=$(cat ../tokenize-scripts/data/current_datum.json | jq -r .fields[1].int)
2626

27-
name=${token_name}$(echo -n "${token_number}" | xxd -ps)
27+
name=${token_name}$(echo -n "_${token_number}" | xxd -ps)
2828

2929
SC_ASSET="1 ${nft_id}.${name}"
3030
#

fractionalize-scripts/data/datum.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"constructor": 0,
33
"fields": [
44
{
5-
"bytes": "dd8cb85857705114276f3b5a180d8c6e96155d5ea7b6b8e3aa88f6ac"
5+
"bytes": "cda4fd8dee486eddacc4c0ad1f7f84f07301caf545ef883dda1db196"
66
},
77
{
88
"bytes": "4e45574d5f30"

hash.hashes

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
0ef00f5c44902fb3f5169ee269235510be77b5bb4be242185772c7eaf118f50b ./nft-locking-contract/validator.hash
2-
2f6641c681d9e5db06db4b8303972848a76d40007f1d508b08149522a455d051 ./locking-contract/validator.hash
1+
136105f853e2189df716b855222d978607a75d131d59a40dcc0602a83ac52073 ./nft-locking-contract/validator.hash
2+
0758e8b69c2bffaf57f25a81932faf44ac9096c024ee38680f55625569ac0543 ./locking-contract/validator.hash
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"type": "PlutusScriptV2",
33
"description": "",
4-
"cborHex": "590cc1590cbe010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232232223232323232533553355333573460800020562a666ae68c0fc0040d80f84cc060cc0500f0cc059400c05ccc060cc0500eccc048c055400d2002330183301403a33013500448008cc060cc05124010d4d696e74696e67204572726f720050023301449113496e76616c696420446174756d204572726f7200333304522225335003130354910d4e6f7468696e6720466f756e6400221533533355303803e30160172350012233355303b041301901a235001223335001233029480000040a08cc0a40052000001330103500220353355303b03e23500122330390023355303e041235001223303c0023335001370090003802337000029000000998080020018a999a9a80111110010981ba49084e6f20446174756d0021533533333335748002464a666ae68c120c1340044c8cccd55cf800901b9191999aab9f0012039233335573e6ae8800894cd54cd4c070d5d080290981f181f80081c90a99a980e9aba100421303f300200103a039203a0450443574400408460980020686ea800880d080d080d080d00fc84c94ccd5cd19b8f35001040350020401333573466e3cd40040f0d40080f00d80d40d140404c0e124010942616420446174756d00213038490108456d62656464656400133300600100400350045335301a5005213535001034203013031491144e6f20496e70757420746f2056616c696461746500330393303048811c0e51495c3ce8e1e7f75c55af7cac6eac210093ac50a441b92a2ec96a003303933030355008033480080b40b44cc060cc0500f0cc059400c05ccc060cc0500eccc048c055400d2002330183301403a33013500448000cc05124010d4275726e696e67204572726f720050021120011303149103505435003043375400c2a66a666086444a66a00220044426a004446600e66660944444a66a00220044426a00444a666ae68c1300044ccc02001c01800c4ccc02001ccc11848ccc00402000c00801800c00801800400c0acd540048888888888880204c0bc0ec884d40088894cd40104cc06ccc07000cd5402c0e8cc070008d5402c0d8884c0d81084d540080d04c94cd4c05c00484d400488d40048888d402088d4008888888888888ccd54c11812888d400888894cd4d406088d401888c8cd40148cd401094ccd5cd19b8f00200100304a204b2335004204b25333573466e3c00800400c12854cd400c854cd400884cd40088cd40088cd40088cd40088cc0ec00800481388cd400881388cc0ec008004888138888cd401081388894ccd5cd19b8700600315333573466e1c0140084cc10001000413c13c12054cd400481201484cc14401801440140fc02854cd5ce2481024c66001650011325333573460766080002264646464246600200600460486ae84d5d1001a999ab9a303d3042001132323232323232323232323232323232323232323232321233333333333300101801601401201000e00c009007005003002303e357426ae88008ccc0d9d710009aba10013574400466606806c40026ae84004d5d100119819bae357420026ae8800d4ccd5cd1826182880089919191909198008020012999ab9a304f3054001132321233001003002302e357426ae88c150008cc0b9d69aba1305300104e37546ae84d5d11829001a999ab9a304d3052001132321233001003002302c357426ae88c148008cc0b1d69aba1305100104c37546ae84c14000412cdd51aba10013574400466605a062eb4d5d08009aba20023302c02e357420026ae88008ccc0a5d70141aba10013574400466604eeb8098d5d08009aba200233026022357420026ae88008cc09007cd5d08009aba230420023302201d3574260820020786ea8d5d0800981f80081d1baa001132533357346070607a002264660546eb8d5d08009bae357426ae88004c0f00040dcdd50009119aa981681811a8009119815801199a800919aa981881a11a800911981780118060008009119980400b001000919aa981881a11a80091198178011807000800999801808801000911199aa981601801899aa981681811a80091198158011804000999aa9816018111a80111299a999aa981701a198161119980501a801000980401791a8009119805001002803080189981a80200181280099aa981681811a80091198158011982011299a800898060019109a80111299a9980600100408911198010050020980300180200111980091299a801016880081090911180180211999999aba4001202020202020202023023375c00405642444600200846604244666a0060540040026a002048246600201003a4466606a444a66a00426601e0020084426a004446a0024444a666a00426601600e012426601801066e000292002213300c0083370001490010012400044666068444a66a00426601c0020084426a0044444a666a00426601200a00e426601400c66e000212002213300a0063370001090010012400044a66a002048266ae700080688d400488888888888803088d40088888888888894cd4ccd54c0a80c004c94ccd5cd19b8f00e00113028001024004202f02348811c7c1fd41de14a3997825afa2d54a65edb7d253c95c83d400c6366dea400225335002100101522333573466e3c0080040580548d400488d4008888888888888cccd40348088808880888ccd54c0a00b80448d4004894cd54ccd5cd19b8f35002030350040301333573466e1cd40080b0d40100b00980940904c0a000c090034cc054894cd40088400c400404488ccd5cd19b8700200101301223253335734604a0020362a666ae68c09000404008cc0a0dd50009119192999ab9a302700111222001153335734604c0022642444600600860086ae84c0a400854ccd5cd18128008891100101218148009baa001232533357346044604e00226464246600200600460086ae84d5d1181380118061aba130260010213754002464a666ae68c084c0980044c8c8c8c8c8c8c8c8c848cccc00402401c00c008cc02dd71aba135744008a666ae68c0a80044c84888c008010d5d098160010a999ab9a302900113212223001004375c6ae84c0b000854ccd5cd18140008891100181398160009baa357420026ae88008ccc021d70039aba100135744604e006a666ae68c088c09c0044c8c848cc00400c008cc01402cd5d09aba23027002300b35742604c0020426ea8d5d098128008101baa0012232325333573460440022602460086ae84c09800854ccd5cd181180080701098130009baa0013300175ceb4888cc09488cccd55cf80090081191980e9980a180398140009803181380098021aba2003357420040346eac00488cc08c88cccd55cf800900711980d18029aba10023003357440040306eb00048c8c94ccd5cd181000089909111180200298021aba13021002153335734603e00226424444600400a600a6ae84c08400854ccd5cd180f00089909111180080298039aba13021002153335734603a00226424444600600a6eb8d5d0981080100e18108009baa001232325333573466e1d200c00111222200f15333573466e1d200a00111222222200415333573466e1d2008001132321222222233001009008375a6ae84d5d118108019bae3574260400042a666ae68c07c0044c8c848888888cc008024020dd71aba13574460420066eb8d5d098100010a999ab9a301e001132321222222233006009008375c6ae84d5d1181080198021aba13020002153335734603a00226424444444600e01060086ae84c08000854ccd5cd180e00089909111111180280418021aba1302000201b3020001375400246464a666ae68c0700044c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba23020003375a6ae84c07c00854ccd5cd180d800899091180100198021aba1301f00201a301f001375400246464a666ae68c06c0044c8488c00400cdd71aba1301e002153335734603400226424460040066eb8d5d0980f00100c980f0009baa001232533357346030603a0022646424660020060046eb4d5d09aba2301d002300335742603800202e6ea80048c94ccd5cd180b980e00089bae35742603600202c6ea80044004401c402888800c8488c00800c8848cc00400c00894cd5ce0008b18099108911299a80089a801803110999a8028061802001199aa98038068028020009100098089108911299a800880111099802801199aa98038058028020009808110891299a80080291099805180200119aa98030048020008880091001090009109119800802001a4811353696e676c65204f7574707574204572726f720049011253696e676c6520496e707574204572726f72004901105369676e696e67205478204572726f720049010f4d696e742f4275726e204572726f7200153357389201035054310016370e90001b8748008dc3a40086e1d20065573caae748c8c00400488cc00cc008008005"
4+
"cborHex": "590cc1590cbe010000323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232232223232323232533553355333573460800020562a666ae68c0fc0040d80f84cc060cc0500f0cc059400c05ccc060cc0500eccc048c055400d2002330183301403a33013500448008cc060cc05124010d4d696e74696e67204572726f720050023301449113496e76616c696420446174756d204572726f7200333304522225335003130354910d4e6f7468696e6720466f756e6400221533533355303803e30160172350012233355303b041301901a235001223335001233029480000040a08cc0a40052000001330103500220353355303b03e23500122330390023355303e041235001223303c0023335001370090003802337000029000000998080020018a999a9a80111110010981ba49084e6f20446174756d0021533533333335748002464a666ae68c120c1340044c8cccd55cf800901b9191999aab9f0012039233335573e6ae8800894cd54cd4c070d5d080290981f181f80081c90a99a980e9aba100421303f300200103a039203a0450443574400408460980020686ea800880d080d080d080d00fc84c94ccd5cd19b8f35001040350020401333573466e3cd40040f0d40080f00d80d40d140404c0e124010942616420446174756d00213038490108456d62656464656400133300600100400350045335301a5005213535001034203013031491144e6f20496e70757420746f2056616c696461746500330393303048811cd58e7e99ae0a7a2ca3229938009577375f0e7e92b5776507c6cff709003303933030355008033480080b40b44cc060cc0500f0cc059400c05ccc060cc0500eccc048c055400d2002330183301403a33013500448000cc05124010d4275726e696e67204572726f720050021120011303149103505435003043375400c2a66a666086444a66a00220044426a004446600e66660944444a66a00220044426a00444a666ae68c1300044ccc02001c01800c4ccc02001ccc11848ccc00402000c00801800c00801800400c0acd540048888888888880204c0bc0ec884d40088894cd40104cc06ccc07000cd5402c0e8cc070008d5402c0d8884c0d81084d540080d04c94cd4c05c00484d400488d40048888d402088d4008888888888888ccd54c11812888d400888894cd4d406088d401888c8cd40148cd401094ccd5cd19b8f00200100304a204b2335004204b25333573466e3c00800400c12854cd400c854cd400884cd40088cd40088cd40088cd40088cc0ec00800481388cd400881388cc0ec008004888138888cd401081388894ccd5cd19b8700600315333573466e1c0140084cc10001000413c13c12054cd400481201484cc14401801440140fc02854cd5ce2481024c66001650011325333573460766080002264646464246600200600460486ae84d5d1001a999ab9a303d3042001132323232323232323232323232323232323232323232321233333333333300101801601401201000e00c009007005003002303e357426ae88008ccc0d9d710009aba10013574400466606806c40026ae84004d5d100119819bae357420026ae8800d4ccd5cd1826182880089919191909198008020012999ab9a304f3054001132321233001003002302e357426ae88c150008cc0b9d69aba1305300104e37546ae84d5d11829001a999ab9a304d3052001132321233001003002302c357426ae88c148008cc0b1d69aba1305100104c37546ae84c14000412cdd51aba10013574400466605a062eb4d5d08009aba20023302c02e357420026ae88008ccc0a5d70141aba10013574400466604eeb8098d5d08009aba200233026022357420026ae88008cc09007cd5d08009aba230420023302201d3574260820020786ea8d5d0800981f80081d1baa001132533357346070607a002264660546eb8d5d08009bae357426ae88004c0f00040dcdd50009119aa981681811a8009119815801199a800919aa981881a11a800911981780118060008009119980400b001000919aa981881a11a80091198178011807000800999801808801000911199aa981601801899aa981681811a80091198158011804000999aa9816018111a80111299a999aa981701a198161119980501a801000980401791a8009119805001002803080189981a80200181280099aa981681811a80091198158011982011299a800898060019109a80111299a9980600100408911198010050020980300180200111980091299a801016880081090911180180211999999aba4001202020202020202023023375c00405642444600200846604244666a0060540040026a002048246600201003a4466606a444a66a00426601e0020084426a004446a0024444a666a00426601600e012426601801066e000292002213300c0083370001490010012400044666068444a66a00426601c0020084426a0044444a666a00426601200a00e426601400c66e000212002213300a0063370001090010012400044a66a002048266ae700080688d400488888888888803088d40088888888888894cd4ccd54c0a80c004c94ccd5cd19b8f00e00113028001024004202f02348811c7c1fd41de14a3997825afa2d54a65edb7d253c95c83d400c6366dea400225335002100101522333573466e3c0080040580548d400488d4008888888888888cccd40348088808880888ccd54c0a00b80448d4004894cd54ccd5cd19b8f35002030350040301333573466e1cd40080b0d40100b00980940904c0a000c090034cc054894cd40088400c400404488ccd5cd19b8700200101301223253335734604a0020362a666ae68c09000404008cc0a0dd50009119192999ab9a302700111222001153335734604c0022642444600600860086ae84c0a400854ccd5cd18128008891100101218148009baa001232533357346044604e00226464246600200600460086ae84d5d1181380118061aba130260010213754002464a666ae68c084c0980044c8c8c8c8c8c8c8c8c848cccc00402401c00c008cc02dd71aba135744008a666ae68c0a80044c84888c008010d5d098160010a999ab9a302900113212223001004375c6ae84c0b000854ccd5cd18140008891100181398160009baa357420026ae88008ccc021d70039aba100135744604e006a666ae68c088c09c0044c8c848cc00400c008cc01402cd5d09aba23027002300b35742604c0020426ea8d5d098128008101baa0012232325333573460440022602460086ae84c09800854ccd5cd181180080701098130009baa0013300175ceb4888cc09488cccd55cf80090081191980e9980a180398140009803181380098021aba2003357420040346eac00488cc08c88cccd55cf800900711980d18029aba10023003357440040306eb00048c8c94ccd5cd181000089909111180200298021aba13021002153335734603e00226424444600400a600a6ae84c08400854ccd5cd180f00089909111180080298039aba13021002153335734603a00226424444600600a6eb8d5d0981080100e18108009baa001232325333573466e1d200c00111222200f15333573466e1d200a00111222222200415333573466e1d2008001132321222222233001009008375a6ae84d5d118108019bae3574260400042a666ae68c07c0044c8c848888888cc008024020dd71aba13574460420066eb8d5d098100010a999ab9a301e001132321222222233006009008375c6ae84d5d1181080198021aba13020002153335734603a00226424444444600e01060086ae84c08000854ccd5cd180e00089909111111180280418021aba1302000201b3020001375400246464a666ae68c0700044c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba23020003375a6ae84c07c00854ccd5cd180d800899091180100198021aba1301f00201a301f001375400246464a666ae68c06c0044c8488c00400cdd71aba1301e002153335734603400226424460040066eb8d5d0980f00100c980f0009baa001232533357346030603a0022646424660020060046eb4d5d09aba2301d002300335742603800202e6ea80048c94ccd5cd180b980e00089bae35742603600202c6ea80044004401c402888800c8488c00800c8848cc00400c00894cd5ce0008b18099108911299a80089a801803110999a8028061802001199aa98038068028020009100098089108911299a800880111099802801199aa98038058028020009808110891299a80080291099805180200119aa98030048020008880091001090009109119800802001a4811353696e676c65204f7574707574204572726f720049011253696e676c6520496e707574204572726f72004901105369676e696e67205478204572726f720049010f4d696e742f4275726e204572726f7200153357389201035054310016370e90001b8748008dc3a40086e1d20065573caae748c8c00400488cc00cc008008005"
55
}

locking-contract/locking_info.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,33 @@
3030
164
3131
],
3232
"pid": [
33+
213,
34+
142,
35+
126,
36+
153,
37+
174,
38+
10,
39+
122,
40+
44,
41+
163,
42+
34,
43+
153,
44+
56,
45+
0,
46+
149,
47+
119,
48+
55,
49+
95,
3350
14,
34-
81,
35-
73,
36-
92,
37-
60,
38-
232,
39-
225,
40-
231,
51+
126,
52+
146,
53+
181,
54+
119,
55+
101,
56+
7,
57+
198,
58+
207,
4159
247,
42-
92,
43-
85,
44-
175,
45-
124,
46-
172,
47-
110,
48-
172,
49-
33,
50-
0,
51-
147,
52-
172,
53-
80,
54-
164,
55-
65,
56-
185,
57-
42,
58-
46,
59-
201,
60-
106
60+
9
6161
]
6262
}

locking-contract/validator.bytes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[37, 196, 95, 107, 184, 176, 94, 38, 234, 91, 72, 141, 123, 19, 247, 144, 37, 11, 18, 44, 139, 204, 96, 198, 178, 156, 216, 167]
1+
[118, 79, 198, 23, 32, 40, 12, 115, 70, 85, 158, 105, 135, 148, 19, 99, 21, 7, 4, 39, 218, 24, 26, 248, 50, 28, 114, 60]

locking-contract/validator.hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25c45f6bb8b05e26ea5b488d7b13f790250b122c8bcc60c6b29cd8a7
1+
764fc61720280c7346559e698794136315070427da181af8321c723c

0 commit comments

Comments
 (0)