ਇਕਾਈਆਂ
1. ਬਲਾਕਚੈਨ ਅਤੇ ਵੈਬ3 ਵਿੱਚ ਨਕਲੀ ਬੁੱਧੀ ਦੀ ਜਾਣ-ਪਛਾਣ: ਭੂਮਿਕਾਵਾਂ, ਸੀਮਾਵਾਂ, ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਸੁਰੱਖਿਆ-ਨਾਜ਼ੁਕਤਾ 2. ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਰਾਈਟਿੰਗ ਸਪੋਰਟ: ਸਾਲਿਡਿਟੀ/ਵਾਈਪਰ ਡਰਾਫਟ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕੋਡ ਜਨਰੇਸ਼ਨ 3. ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਆਡਿਟ ਸਮਰਥਨ: ਸੁਰੱਖਿਆ ਸਮੀਖਿਆ ਅਤੇ ਡਰਾਫਟ ਖੋਜ 4. ਕਮਜ਼ੋਰੀ ਸਕੈਨਿੰਗ: ਆਮ ਕਮਜ਼ੋਰੀ ਪੈਟਰਨ ਅਤੇ ਸਵੈਚਲਿਤ ਵਿਸ਼ਲੇਸ਼ਣ 5. ਆਨ-ਚੇਨ ਡੇਟਾ ਵਿਸ਼ਲੇਸ਼ਣ: ਬਲਾਕ, ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਅਤੇ ਵਾਲਿਟ ਡੇਟਾ ਦੀ ਭਾਵਨਾ ਬਣਾਉਣਾ 6. DeFi ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਵਿਸ਼ਲੇਸ਼ਣ: ਤਰਲਤਾ, MEV ਅਤੇ ਆਰਥਿਕ ਹਮਲੇ 7. ਟੋਕਨੌਮਿਕ ਮਾਡਲਿੰਗ: ਸਪਲਾਈ, ਵੰਡ, ਪ੍ਰੇਰਨਾ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ 8. ਦਸਤਾਵੇਜ਼ ਅਤੇ ਤਕਨੀਕੀ ਲਿਖਤ: ਵ੍ਹਾਈਟਪੇਪਰ, ਨੈਟਸਪੇਕ ਅਤੇ ਉਪਭੋਗਤਾ ਗਾਈਡ 9. ਧੋਖਾਧੜੀ, ਰਗ-ਪੁੱਲ ਅਤੇ ਜੋਖਮ ਖੋਜ: ਆਨ-ਚੇਨ ਲਾਲ ਝੰਡੇ 10. ਸੁਰੱਖਿਆ-ਨਾਜ਼ੁਕ ਆਡਿਟ, ਮਾਹਰ ਦੀ ਪ੍ਰਵਾਨਗੀ ਅਤੇ ਜ਼ਿੰਮੇਵਾਰ ਵਰਤੋਂ 11. ਐਂਡ-ਟੂ-ਐਂਡ ਵਰਕਫਲੋ, ਗਵਰਨੈਂਸ, ਵੈਰੀਫਿਕੇਸ਼ਨ ਅਤੇ ਐਥਿਕਸ
ਯੂਨਿਟ 2 / 11

ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਰਾਈਟਿੰਗ ਸਪੋਰਟ: ਸਾਲਿਡਿਟੀ/ਵਾਈਪਰ ਡਰਾਫਟ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕੋਡ ਜਨਰੇਸ਼ਨ

ਲਾਭ:

  • ਪ੍ਰਮਾਣਿਤ ਲਾਇਬ੍ਰੇਰੀਆਂ (ਜਿਵੇਂ ਕਿ ਓਪਨਜ਼ੈਪੇਲਿਨ) ਦੇ ਅਧਾਰ ਤੇ ਫਰੇਮਵਰਕ, ਟੈਸਟਾਂ ਅਤੇ ਸਮੀਖਿਆ ਡਰਾਫਟ ਤਿਆਰ ਕਰਨ ਲਈ ਨਕਲੀ ਬੁੱਧੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਇਹ ਸਮਝਣਾ ਕਿ ਮਨੁੱਖ ਉਤਪਾਦਨ ਸੁਰੱਖਿਆ ਦੀ ਗਰੰਟੀ ਦਿੰਦੇ ਹਨ
  • ਸੰਕਲਨ, ਟੈਸਟਿੰਗ ਅਤੇ ਟੈਸਟਨੈੱਟ ਦੁਆਰਾ ਨਕਲੀ ਬੁੱਧੀ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਸੰਸਕਰਣ, ਪੈਟਰਨ ਅਤੇ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
  • ਉਸ ਸੰਕਲਨ ਨੂੰ ਵੱਖ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣ ਦਾ ਮਤਲਬ ਸੁਰੱਖਿਅਤ ਹੋਣਾ ਨਹੀਂ ਹੈ ਅਤੇ ਟੈਸਟਨੈੱਟ ਅਤੇ ਆਡਿਟਿੰਗ ਜ਼ਰੂਰੀ ਹਨ।

ਇੱਕ ਸਮਾਰਟ ਇਕਰਾਰਨਾਮਾ ਲਿਖਣਾ ਆਮ ਸੌਫਟਵੇਅਰ ਤੋਂ ਵੱਖਰਾ ਹੈ: ਜੋ ਕੋਡ ਤੁਸੀਂ ਲਿਖਦੇ ਹੋ ਉਹ ਜਨਤਕ, ਅਟੱਲ ਹੈ, ਅਤੇ ਇੱਕ ਅਜਿਹਾ ਪ੍ਰੋਗਰਾਮ ਹੈ ਜੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਪੈਸੇ ਨੂੰ ਭੇਜਦਾ ਹੈ। ਇਸ ਯੂਨਿਟ ਵਿੱਚ, ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ ਇੱਕ ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਡਿਵੈਲਪਮੈਂਟ ਸਹਾਇਕ ਵਜੋਂ AI ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ; ਅਸੀਂ ਡਰਾਫਟ ਉਤਪਾਦਨ ਤੋਂ ਲੈ ਕੇ ਟੈਸਟ ਰਾਈਟਿੰਗ ਤੱਕ, ਪੈਟਰਨ ਰੀਕਾਲ ਤੋਂ ਲੈ ਕੇ ਗੈਸ (ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਫੀਸ) ਆਪਟੀਮਾਈਜ਼ੇਸ਼ਨ ਤੱਕ ਸਿੱਖਾਂਗੇ। ਪਰ ਆਓ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਸਪੱਸ਼ਟ ਕਰੀਏ: AI ਬਲੂਪ੍ਰਿੰਟ ਤਿਆਰ ਕਰਦਾ ਹੈ; ਮਨੁੱਖ ਸੁਰੱਖਿਅਤ ਕੋਡ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਜੋ ਉਤਪਾਦਨ ਵਿੱਚ ਜਾਂਦਾ ਹੈ।

ਜ਼ਮੀਨ ਪਹਿਲਾਂ: ਭਾਸ਼ਾ ਅਤੇ ਵਾਤਾਵਰਣ

ਸਭ ਤੋਂ ਆਮ ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਭਾਸ਼ਾ ਸੋਲਿਡਿਟੀ ਹੈ (ਈਥਰਿਅਮ ਅਤੇ ਈਵੀਐਮ ਦੀ ਭਾਸ਼ਾ — ਈਥਰਿਅਮ ਵਰਚੁਅਲ ਮਸ਼ੀਨ, ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਜਿਸ 'ਤੇ ਕੰਟਰੈਕਟ ਚੱਲਦੇ ਹਨ — ਅਨੁਕੂਲ ਚੇਨ)। ਵਿਕਲਪ ਵਾਈਪਰ ਹੈ (ਇੱਕ ਪਾਈਥਨ ਵਰਗੀ ਭਾਸ਼ਾ ਜਿਸਦਾ ਉਦੇਸ਼ ਵਧੇਰੇ ਸੀਮਤ ਅਤੇ ਪੜ੍ਹਨਯੋਗ ਹੋਣਾ ਹੈ)। ਤੁਹਾਡਾ ਕੋਡ ਗੈਸ ਦੀ ਖਪਤ ਕਰਦਾ ਹੈ (ਬਲਾਕਚੈਨ ਲਈ ਹਰੇਕ ਲੈਣ-ਦੇਣ ਦੀ ਲਾਗਤ); ਅਕੁਸ਼ਲ ਕੋਡ ਮਹਿੰਗਾ ਹੈ। ਤੁਹਾਡੇ ਦੁਆਰਾ AI ਨੂੰ ਦਿੱਤੇ ਸੰਦਰਭ ਵਿੱਚ ਇਹਨਾਂ ਸ਼ਰਤਾਂ ਨੂੰ ਸਪੱਸ਼ਟ ਰੱਖਣਾ ਸਹੀ ਆਉਟਪੁੱਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੁੰਜੀ ਹੈ।

ਜਿੱਥੇ AI ਸਭ ਤੋਂ ਕੀਮਤੀ ਹੈ ਉਹ "ਸਕ੍ਰੈਚ ਤੋਂ ਲਿਖਣ" ਵਿੱਚ ਨਹੀਂ ਹੈ ਪਰ ਫਰੇਮਵਰਕ + ਵਧੀਆ ਉੱਲੀ ਪੈਦਾ ਕਰਨ ਵਿੱਚ ਹੈ: ਇੱਕ ਮਿਆਰਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਵਾਲੀ ਸ਼ੁਰੂਆਤ, ਇੱਕ ਬਲੂਪ੍ਰਿੰਟ ਜਿਸ 'ਤੇ ਤੁਹਾਡੀ ਮਹਾਰਤ ਸ਼ਾਮਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।

ਕੋਡਿੰਗ ਵਿੱਚ AI ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀਆਂ ਪਰਤਾਂ

1. ਪਿੰਜਰ ਪੈਦਾ ਕਰਨਾ। AI ਇੱਕ ਮਿਆਰੀ ਟੋਕਨ (ERC-20) ਜਾਂ NFT (ERC-721 — ਇੱਕ ਵਿਲੱਖਣ ਡਿਜੀਟਲ ਸੰਪਤੀ ਮਿਆਰ) ਦੇ ਪਿੰਜਰ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਮਾਈਨ ਕਰਦਾ ਹੈ। ਪਰ AI ਨੂੰ ਇੱਕ ਪ੍ਰਮਾਣਿਤ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ: ਉਦਾਹਰਨ ਲਈ, OpenZeppelin (ਕਮਿਊਨਿਟੀ ਦੀ ਭਰੋਸੇਯੋਗ, ਆਡਿਟ ਕੀਤੀ ਸਟੈਂਡਰਡ ਕੰਟਰੈਕਟਿੰਗ ਲਾਇਬ੍ਰੇਰੀ)। ਨਿਯਮ ਸਕ੍ਰੈਚ ਤੋਂ ਸੁਰੱਖਿਆ ਲਿਖਣ ਦੀ ਬਜਾਏ ਟੈਸਟ ਕੀਤੇ ਬਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ।

2. ਫੰਕਸ਼ਨ ਵਰਣਨ ਅਤੇ ਸਮੀਖਿਆ। AI ਨੂੰ ਇੱਕ ਮੌਜੂਦਾ ਫੰਕਸ਼ਨ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਨਾਲ ਤੁਸੀਂ ਤਰਕ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਜਲਦੀ ਖੋਜ ਸਕਦੇ ਹੋ।

3. ਟੈਸਟ ਪੀੜ੍ਹੀ. AI ਕਿਨਾਰੇ ਦੇ ਕੇਸਾਂ ਲਈ ਟੈਸਟ ਕੇਸ ਤਿਆਰ ਕਰਨ ਵਿੱਚ ਵਧੀਆ ਹੈ: ਜ਼ੀਰੋ ਇਨਪੁਟ, ਬਹੁਤ ਵੱਡੀ ਸੰਖਿਆ, ਅਣਅਧਿਕਾਰਤ ਕਾਲਰ, ਵਾਰ-ਵਾਰ ਕਾਲ। ਇਹ ਇੱਕ ਛੱਡੇ ਜਾਣ ਵਾਲੇ ਦ੍ਰਿਸ਼ਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਯਾਦ ਦਿਵਾਉਂਦਾ ਹੈ।

4. ਗੈਸ ਅਤੇ ਪੜ੍ਹਨਯੋਗਤਾ। AI ਮਹਿੰਗੇ ਪੈਟਰਨਾਂ ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਬੇਲੋੜੀ ਸਟੋਰੇਜ ਲਿਖਦਾ ਹੈ ਅਤੇ ਵਿਕਲਪਾਂ ਦਾ ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ।

ਸੰਕੇਤ: AI ਨੂੰ ਨਿਰਦੇਸ਼ ਦਿਓ ਕਿ "ਓਪਨਜ਼ੈਪੇਲਿਨ ਦੇ ਆਡਿਟ ਕੀਤੇ ਕੰਟਰੈਕਟਸ 'ਤੇ ਬਣਾਓ, ਸੁਰੱਖਿਆ ਨੂੰ ਸਕ੍ਰੈਚ ਤੋਂ ਦੁਬਾਰਾ ਲਿਖੋ।" ਇੱਕ ਟੈਸਟ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲੋਂ ਇੱਕ AI ਲਈ ਅਸਲ ਸੁਰੱਖਿਆ ਕੋਡ ਲਿਖਣਾ ਬਹੁਤ ਜੋਖਮ ਭਰਿਆ ਹੁੰਦਾ ਹੈ।

ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ

ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ:

ਮੈਨੂੰ ਇੱਕ ਟੋਕਨ ਇਕਰਾਰਨਾਮਾ ਲਿਖੋ।

ਇਹ ਪ੍ਰੋਂਪਟ ਖਤਰਨਾਕ ਹੈ: ਇਹ ਸਪੱਸ਼ਟ ਨਹੀਂ ਹੈ ਕਿ ਕਿਹੜਾ ਮਿਆਰ, ਕਿਹੜੀ ਲੜੀ, ਕਿਹੜੀ ਲਾਇਬ੍ਰੇਰੀ, ਕਿਹੜੀ ਸੁਰੱਖਿਆ ਲੋੜ ਹੈ। AI ਬੇਤਰਤੀਬ, ਸੰਭਵ ਤੌਰ 'ਤੇ ਪੁਰਾਣਾ ਜਾਂ ਅਸੁਰੱਖਿਅਤ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ।

ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰਾਉਟ:

ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਸੀਨੀਅਰ ਸੋਲਿਡਿਟੀ ਡਿਵੈਲਪਰ। ਇੱਕ EVM ਅਨੁਕੂਲ ਚੇਨ ਲਈ ਇੱਕ ERC-20 ਟੋਕਨ ਡਰਾਫਟ ਤਿਆਰ ਕਰੋ। ਨਿਯਮ:- ਓਪਨਜ਼ੈਪਲਿਨ ਦੇ ਆਡਿਟ ਕੀਤੇ ERC20 ਅਤੇ ਮਾਲਕੀ ਯੋਗ ਇਕਰਾਰਨਾਮਿਆਂ ਦੇ ਆਧਾਰ 'ਤੇ।- ਸੋਲਿਡਿਟੀ ਸੰਸਕਰਣ ਅਤੇ ਲਾਇਸੰਸ (SPDX) ਲਾਈਨ ਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਲਿਖੋ।- ਸਿਰਫ ਮਾਲਕ ਨੂੰ ਪੁਦੀਨੇ ਦੀ ਇਜਾਜ਼ਤ ਹੈ; ਅਨੰਤ ਦਬਾਉਣ ਦੇ ਵਿਰੁੱਧ ਇੱਕ ਕੈਪ ਜੋੜੋ। - ਹਰੇਕ ਫੰਕਸ਼ਨ ਲਈ NatSpec ਟਿੱਪਣੀ ਸ਼ਾਮਲ ਕਰੋ। - ਸਕ੍ਰੈਚ ਤੋਂ ਸੁਰੱਖਿਆ ਲਿਖੋ; ਸਟੈਂਡਰਡ ਬਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰੋ। - ਅੰਤ ਵਿੱਚ ਇੱਕ ਚੇਤਾਵਨੀ ਸ਼ਾਮਲ ਕਰੋ: "ਇਹ ਇੱਕ ਡਰਾਫਟ ਹੈ; ਆਡਿਟ ਅਤੇ ਟੈਸਟਿੰਗ ਦੀ ਲੋੜ ਹੈ"। ਉਹਨਾਂ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਤੁਸੀਂ // TODO ਨਾਲ ਯਕੀਨੀ ਨਹੀਂ ਹੋ।

ਅੰਤਰ: ਮਜ਼ਬੂਤ ​​ਪ੍ਰੋਂਪਟ ਸਪਸ਼ਟ ਭੂਮਿਕਾ, ਮਿਆਰੀ, ਲਾਇਬ੍ਰੇਰੀ, ਸੁਰੱਖਿਆ ਸੀਮਾ, ਦਸਤਾਵੇਜ਼ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀਆਂ ਉਮੀਦਾਂ ਦਿੰਦਾ ਹੈ।

ਚਾਰ ਕਾਪੀ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟ

1) ਮਿਆਰ ਅਧਾਰਤ ਪਿੰਜਰ:

ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਸੋਲਿਡਿਟੀ ਡਿਵੈਲਪਰ। OpenZeppelin ਆਡਿਟ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਆਧਾਰ 'ਤੇ [ERC-20 / ERC-721 / staking] ਕੰਟਰੈਕਟ ਫਰੇਮਵਰਕ ਤਿਆਰ ਕਰੋ। SPDX ਲਾਇਸੰਸ ਅਤੇ ਪ੍ਰੈਗਮਾ ਸੰਸਕਰਣ ਲਿਖੋ। ਹਰੇਕ ਬਾਹਰੀ ਫੰਕਸ਼ਨ ਵਿੱਚ ਐਕਸੈਸ ਕੰਟਰੋਲ (ਕੌਣ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ) ਸ਼ਾਮਲ ਕਰੋ। ਸੁਰੱਖਿਆ ਨੂੰ ਮੁੜ ਖੋਜਣਾ; ਮਿਆਰੀ ਬਲਾਕ ਵਰਤੋ. ਇਹ ਇੱਕ ਖਰੜਾ ਹੈ।

2) ਫੰਕਸ਼ਨ ਸਮੀਖਿਆ:

ਇੱਕ ਸੀਨੀਅਰ ਡਿਵੈਲਪਰ ਵਾਂਗ ਹੇਠਾਂ ਦਿੱਤੇ ਫੰਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ: ਇਹ ਕੀ ਕਰਦਾ ਹੈ, ਇਹ ਕਿਹੜੀਆਂ ਸਥਿਤੀਆਂ ਬਦਲਦਾ ਹੈ, ਕੌਣ ਇਸਨੂੰ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ? ਸੰਭਾਵਿਤ ਤਰਕ ਗਲਤੀਆਂ ਅਤੇ ਸੁਰੱਖਿਆ ਜੋਖਮਾਂ ਨੂੰ ਹਾਈਪੋਥੀਸਿਸ ਵਜੋਂ ਚਿੰਨ੍ਹਿਤ ਕਰੋ, ਹਰੇਕ ਨੂੰ ਕੋਡ ਵਿੱਚ ਇੱਕ ਲਾਈਨ ਨਾਲ ਜੋੜਦੇ ਹੋਏ। ਬਿਲਕੁਲ "ਸੁਰੱਖਿਅਤ" ਨਾ ਕਹੋ; ਸਿਰਫ਼ ਧਿਆਨ ਦੇ ਬਿੰਦੂਆਂ ਦੀ ਸੂਚੀ ਬਣਾਓ।

3) ਟੈਸਟ ਦ੍ਰਿਸ਼ ਡਰਾਫਟ:

ਇਸ ਇਕਰਾਰਨਾਮੇ ਲਈ ਟੈਸਟ ਕੇਸਾਂ ਦੀ ਤਜਵੀਜ਼ ਕਰੋ (ਫਾਊਂਡਰੀ/ਹਰਦੱਤ ਲਈ ਡਰਾਫਟ ਹੋ ਸਕਦਾ ਹੈ)। ਖਾਸ ਤੌਰ 'ਤੇ ਸੀਮਾ ਦੇ ਕੇਸਾਂ ਨੂੰ ਕਵਰ ਕਰੋ: ਜ਼ੀਰੋ ਇਨਪੁਟ, ਬਹੁਤ ਵੱਡੀ ਸੰਖਿਆ, ਅਣਅਧਿਕਾਰਤ ਕਾਲ, ਮੁੜ-ਪ੍ਰਵੇਸ਼ ਕਾਲ, ਨਾਕਾਫ਼ੀ ਫੰਡ। ਲਿਖੋ ਕਿ ਹਰੇਕ ਟੈਸਟ ਕੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।

4) ਗੈਸ ਅਤੇ ਪੜ੍ਹਨਯੋਗਤਾ ਸਮੀਖਿਆ:

ਇਸ ਇਕਰਾਰਨਾਮੇ ਵਿੱਚ, ਉਹਨਾਂ ਪੈਟਰਨਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕਰੋ ਜੋ ਗੈਸ ਦੀ ਲਾਗਤ ਨੂੰ ਘਟਾ ਸਕਦੇ ਹਨ: ਬੇਲੋੜੀ ਸਟੋਰੇਜ ਲਿਖਣਾ, ਲੂਪ ਵਿੱਚ ਬਾਹਰੀ ਕਾਲ, ਦੁਹਰਾਉਣ ਵਾਲੀ ਗਣਨਾ। ਹਰੇਕ ਸੁਝਾਅ ਵਿੱਚ ਪਹਿਲਾਂ/ਬਾਅਦ ਦੇ ਅੰਤਰ ਦੀ ਵਿਆਖਿਆ ਕਰੋ। ਸੁਰੱਖਿਆ-ਤੋੜਨ ਵਾਲੇ ਅਨੁਕੂਲਨ ਦੀ ਸਿਫਾਰਸ਼ ਕਰੋ; ਜੇਕਰ ਇਹ ਸਪਸ਼ਟ ਨਹੀਂ ਹੈ, ਤਾਂ "ਆਡੀਟਰ ਨੂੰ ਪੁੱਛੋ" ਕਹੋ।

ਤਿੰਨ ਛੋਟੇ ਕੇਸ (ਸੰਖਿਆ ਵਿੱਚ)

ਕੇਸ 1 - ਸਕਲੀਟਨ ਨੇ 4 ਘੰਟੇ ਬਚਾਏ। ਇੱਕ ਟੀਮ ਨੇ 30 ਮਿੰਟਾਂ ਵਿੱਚ ਏਆਈ ਦੇ ਨਾਲ ਇੱਕ ਆਡਿਟ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ-ਅਧਾਰਤ ਵੇਸਟਿੰਗ ਕੰਟਰੈਕਟ ਦੇ ਪਿੰਜਰ ਦੀ ਖੁਦਾਈ ਕੀਤੀ; ਇਸ ਵਿੱਚ ਹੱਥੀਂ ~ 4 ਘੰਟੇ ਲੱਗੇ। ਟੀਮ ਨੇ ਸੁਰੱਖਿਆ ਅਤੇ ਜਾਂਚ ਲਈ ਸਮਾਂ ਦਿੱਤਾ। ਲਾਭ ਸੁਰੱਖਿਆ ਦੇ ਤਬਾਦਲੇ ਤੋਂ ਨਹੀਂ, ਬਲਕਿ ਥਕਾਵਟ ਵਾਲੇ ਢਾਂਚੇ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਨਾਲ ਆਇਆ ਹੈ।

ਕੇਸ 2 - ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਜਾਲ। ਏਆਈ ਨੇ ਇੱਕ ਪੈਟਰਨ ਤਿਆਰ ਕੀਤਾ ਜੋ ਟ੍ਰਾਂਸਫਰ ਦੁਆਰਾ ਕੱਚਾ ਈਥਰ ਭੇਜਦਾ ਹੈ, ਜਿਸਦੀ ਹੁਣ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਕਿਉਂਕਿ ਸਿਖਲਾਈ ਡੇਟਾ ਪੁਰਾਣਾ ਹੈ। ਡਿਵੈਲਪਰ ਨੇ ਇਸ ਨੂੰ ਦੇਖਿਆ ਅਤੇ ਇਸਨੂੰ ਮੌਜੂਦਾ ਕਾਲ-ਅਧਾਰਿਤ ਅਤੇ ਰੀਐਂਟਰੈਂਸੀ-ਸੁਰੱਖਿਅਤ ਪੈਟਰਨ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ। ਪਾਠ: AI ਦੀ ਲਾਇਬ੍ਰੇਰੀ/ਪੈਟਰਨ ਹਮੇਸ਼ਾ ਅੱਪ ਟੂ ਡੇਟ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ; AI ਨੂੰ ਸਿਖਲਾਈ ਦੀ ਕਟੌਫ ਮਿਤੀ ਤੋਂ ਅੱਗੇ ਨਹੀਂ ਪਤਾ।

ਕੇਸ 3 - ਟੈਸਟ ਡਰਾਫਟ ਨੇ ਲੁਕਿਆ ਹੋਇਆ ਬੱਗ ਦਿਖਾਇਆ। AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ "ਅਣਅਧਿਕਾਰਤ ਕਾਲਰ" ਟੈਸਟ ਤੋਂ ਪਤਾ ਚੱਲਦਾ ਹੈ ਕਿ ਡਿਵੈਲਪਰ ਇੱਕ ਫੰਕਸ਼ਨ ਵਿੱਚ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਨੂੰ ਭੁੱਲ ਗਿਆ ਸੀ। ਸਿਰਫ਼ ਮਾਲਕ 1 ਲਾਈਨ ਗੁੰਮ ਹੈ, ਟੈਸਟਨੈੱਟ 'ਤੇ 5 ਮਿੰਟਾਂ ਵਿੱਚ ਫੜਿਆ ਗਿਆ; ਮੇਨਨੈੱਟ 'ਤੇ ਫੰਡਾਂ ਦਾ ਨੁਕਸਾਨ ਹੋ ਸਕਦਾ ਸੀ। ਪਾਠ: AI ਟੈਸਟਿੰਗ ਵਿੱਚ ਮਨੁੱਖੀ ਅੰਨ੍ਹੇ ਸਥਾਨ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ।

AI ਨਾਲ ਸੁਰੱਖਿਆ ਪੈਟਰਨਾਂ ਨੂੰ ਯਾਦ ਰੱਖਣਾ

AI ਤੁਹਾਨੂੰ ਚੈੱਕਲਿਸਟ ਵਰਗੇ ਜਾਣੇ-ਪਛਾਣੇ ਕਮਜ਼ੋਰ ਪੈਟਰਨਾਂ ਦੀ ਯਾਦ ਦਿਵਾਉਣ ਲਈ ਚੰਗਾ ਹੈ। ਸਭ ਤੋਂ ਆਮ ਪੈਟਰਨ:

  • ਮੁੜ ਦਾਖਲਾ: ਸਥਿਤੀ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤੇ ਬਿਨਾਂ ਇੱਕ ਬਾਹਰੀ ਕਾਲ ਕਰਨਾ। ਹੱਲ: ਜਾਂਚ-ਪ੍ਰਭਾਵ-ਇੰਟਰੈਕਸ਼ਨ ਆਰਡਰ, ਰੀਐਂਟ੍ਰੈਂਸੀ ਗਾਰਡ।
  • ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਦੀ ਘਾਟ: ਕੋਈ ਵੀ ਗੰਭੀਰ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ।
  • ਪੂਰਨ ਅੰਕ ਓਵਰਫਲੋ/ਅੰਡਰਫਾਲ: ਆਧੁਨਿਕ ਠੋਸਤਾ ਉਹਨਾਂ ਵਿੱਚੋਂ ਜ਼ਿਆਦਾਤਰ ਨੂੰ ਫੜਦੀ ਹੈ, ਪਰ ਫਿਰ ਵੀ ਹੇਠਲੇ-ਪੱਧਰ ਦੇ ਕੋਡ ਵਿੱਚ ਜੋਖਮ ਹੁੰਦਾ ਹੈ।
  • ਨਾਕਾਫ਼ੀ ਇਨਪੁਟ ਪ੍ਰਮਾਣਿਕਤਾ: ਜ਼ੀਰੋ ਪਤਾ, ਜ਼ੀਰੋ ਮਾਤਰਾ ਨਿਯੰਤਰਣ।
  • ਓਰੇਕਲ ਨਿਰਭਰਤਾ: ਬਾਹਰੀ ਡੇਟਾ (ਜਿਵੇਂ ਕਿ ਕੀਮਤ) ਵਿੱਚ ਅੰਨ੍ਹਾ ਭਰੋਸਾ।
ਧਿਆਨ ਦਿਓ: AI ਇਸ ਸੂਚੀ ਨੂੰ ਯਾਦ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਇਸ ਗੱਲ ਦੀ ਗਾਰੰਟੀ ਨਹੀਂ ਦੇ ਸਕਦਾ ਹੈ ਕਿ ਸੂਚੀ ਵਿੱਚ ਕੋਈ ਆਈਟਮ ਤੁਹਾਡੇ ਖਾਸ ਕੋਡ ਵਿੱਚ ਹੈ ਜਾਂ ਨਹੀਂ। ਚੈੱਕਲਿਸਟ ਇੱਕ ਸ਼ੁਰੂਆਤ ਹੈ; ਇਹ ਕੰਟੇਨਰ ਨਿਯੰਤਰਣ ਦਾ ਬਦਲ ਨਹੀਂ ਹੈ।

ਸੰਦਰਭ ਨੂੰ ਸਹੀ ਕਰਨਾ: AI ਤੋਂ ਚੰਗੇ ਕੋਡ ਦਾ ਰਾਜ਼

AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ ਕੋਡ ਦੀ ਗੁਣਵੱਤਾ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਦੁਆਰਾ ਦਿੱਤੇ ਸੰਦਰਭ ਦੀ ਗੁਣਵੱਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਵੈਬ 3 ਵਿੱਚ ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਨਾਜ਼ੁਕ ਹੈ ਕਿਉਂਕਿ ਇੱਕ ਛੋਟਾ ਜਿਹਾ ਵੇਰਵਾ (ਕਿਹੜਾ ਚੇਨ, ਕਿਹੜਾ ਸੋਲਿਡਿਟੀ ਸੰਸਕਰਣ, ਕਿਹੜਾ ਟੋਕਨ ਸਟੈਂਡਰਡ) ਪੂਰੇ ਆਉਟਪੁੱਟ ਨੂੰ ਬਦਲਦਾ ਹੈ। ਇੱਕ ਚੰਗੇ ਸੰਦਰਭ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

  • ਟਾਰਗੇਟ ਚੇਨ ਅਤੇ ਵਾਤਾਵਰਣ: ਈਥਰਿਅਮ ਮੇਨਨੈੱਟ ਜਾਂ ਲੇਅਰ 2 (ਸਸਤਾ ਸਾਈਡਚੇਨ ਜੋ ਮੇਨਚੇਨ ਦੇ ਸਿਖਰ 'ਤੇ ਚੱਲਦਾ ਹੈ)? ਗੈਸ ਦੀ ਲਾਗਤ ਅਤੇ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਲੜੀ ਅਨੁਸਾਰ ਵੱਖ-ਵੱਖ ਹੁੰਦੀਆਂ ਹਨ।
  • ਸੰਸਕਰਣ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ: ਕਿਹੜਾ ਠੋਸ ਸੰਸਕਰਣ, ਕਿਹੜਾ ਓਪਨਜ਼ੈਪਲਿਨ ਸੰਸਕਰਣ? ਜੇਕਰ ਕੋਈ ਸੰਸਕਰਣ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ AI ਪੁਰਾਣੇ, ਨਾਪਸੰਦ ਪੈਟਰਨ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ।
  • ਸੁਰੱਖਿਆ ਲੋੜਾਂ: ਕੀ ਕੋਈ ਕੈਪ ਹੈ, ਕੀ ਇਸਨੂੰ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਕੀ ਇਸਨੂੰ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ? ਇਹ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਕਿਹਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ.
  • ਪਾਬੰਦੀਆਂ: "ਅਸੈਂਬਲੀ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ", "ਬਾਹਰੀ ਕਾਲ ਤੋਂ ਬਚੋ", "ਗੈਸ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ ਪਰ ਪੜ੍ਹਨਯੋਗਤਾ ਬਣਾਈ ਰੱਖੋ" ਵਰਗੀਆਂ ਸੀਮਾਵਾਂ ਸਾਫ਼ ਕਰੋ।

ਇਕ ਹੋਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਤਕਨੀਕ ਹੈ ਪਹਿਲਾਂ ਯੋਜਨਾ ਲਈ AI ਨੂੰ ਪੁੱਛਣਾ, ਫਿਰ ਕੋਡ: "ਪਹਿਲਾਂ ਇਸ ਇਕਰਾਰਨਾਮੇ ਦੇ ਫੰਕਸ਼ਨਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ ਅਤੇ ਹਰੇਕ ਕੀ ਕਰੇਗਾ; ਕੋਡ ਲਿਖੋ ਜਦੋਂ ਮੈਂ ਇਸਨੂੰ ਮਨਜ਼ੂਰ ਕਰ ਲਵਾਂਗਾ." ਇਹ ਗਲਤ ਦਿਸ਼ਾ ਵਿੱਚ ਜਾ ਰਹੇ AI ਨੂੰ ਜਲਦੀ ਫੜ ਲੈਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਆਰਕੀਟੈਕਚਰਲ ਫੈਸਲੇ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਸੰਕੇਤ: AI ਨੂੰ ਪੁੱਛੋ "ਤੁਸੀਂ ਇਸ ਕੋਡ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਕਿਉਂ ਲਿਖਿਆ?" ਪੁੱਛੋ ਤਰਕ ਦੀ ਵਿਆਖਿਆ ਕਰਨਾ ਤੁਹਾਡੀ ਸਿੱਖਣ ਦੀ ਗਤੀ ਨੂੰ ਵਧਾਏਗਾ ਅਤੇ ਕਿਸੇ ਵੀ ਤਰਕਸੰਗਤ ਗਲਤੀਆਂ (ਜਿਵੇਂ ਕਿ ਇੱਕ ਗਲਤ ਸੁਰੱਖਿਆ ਧਾਰਨਾ) ਨੂੰ ਸਤ੍ਹਾ 'ਤੇ ਲਿਆਏਗਾ। ਇੱਕ AI ਦੇ ਆਉਟਪੁੱਟ 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ ਜੋ ਆਪਣੇ ਖੁਦ ਦੇ ਕੋਡ ਦਾ ਬਚਾਅ ਨਹੀਂ ਕਰ ਸਕਦਾ।

ਆਮ ਗਲਤੀਆਂ

  • ਸਕ੍ਰੈਚ ਤੋਂ AI ਵਿੱਚ ਸੁਰੱਖਿਆ ਪਾ ਰਿਹਾ ਹੈ। ਇੱਕ ਟੈਸਟ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਸੰਸਕਰਣ/ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ। ਸਿਖਲਾਈ ਡੇਟਾ ਪੁਰਾਣਾ ਹੋ ਸਕਦਾ ਹੈ।
  • ਟੈਸਟਨੈੱਟ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨਾ। ਲਾਈਵ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਡਰਾਫਟ ਨੂੰ ਟੈਸਟ ਨੈੱਟਵਰਕ 'ਤੇ ਚੱਲਣਾ ਚਾਹੀਦਾ ਹੈ।
  • NatSpec/ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਜੋੜ ਰਿਹਾ। ਨਿਰੀਖਣ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਔਖਾ ਹੋ ਜਾਂਦਾ ਹੈ।
  • "ਇਹ ਕੰਪਾਇਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਇਹ ਸੁਰੱਖਿਅਤ ਹੈ" ਗਲਤ ਧਾਰਨਾ. ਸੰਕਲਿਤ ਹੋਣ ਦਾ ਮਤਲਬ ਸੁਰੱਖਿਅਤ ਹੋਣਾ ਨਹੀਂ ਹੈ।
  • ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਨੂੰ ਭੁੱਲਣਾ। ਇਹ ਸਭ ਤੋਂ ਆਮ ਅਤੇ ਮਹਿੰਗੀਆਂ ਗਲਤੀਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।

ਸੰਖੇਪ ਵਿੱਚ

  • ਸਮਾਰਟ ਕੰਟਰੈਕਟ ਰਾਈਟਿੰਗ ਵਿੱਚ, ਏਆਈ ਫਰੇਮਵਰਕ, ਟੈਸਟ ਅਤੇ ਸਮੀਖਿਆ ਡਰਾਫਟ ਤਿਆਰ ਕਰਦਾ ਹੈ; ਮਨੁੱਖ ਉਤਪਾਦਨ ਸੁਰੱਖਿਆ ਦੀ ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ।
  • ਸੁਰੱਖਿਆ ਨੂੰ ਸਕ੍ਰੈਚ ਤੋਂ ਨਹੀਂ ਬਲਕਿ ਸਾਬਤ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ (ਉਦਾਹਰਨ ਲਈ ਓਪਨਜ਼ੈਪਲਿਨ) ਦੇ ਆਧਾਰ 'ਤੇ ਬਣਾਓ।
  • The up-to-dateness of the versions and patterns produced by YZ is always confirmed.
  • ਟੈਸਟ ਸਟੱਬ ਮਨੁੱਖੀ ਅੰਨ੍ਹੇ ਧੱਬਿਆਂ (ਸੀਮਾ ਕੇਸਾਂ, ਪਹੁੰਚ ਨਿਯੰਤਰਣ) ਨੂੰ ਹਾਸਲ ਕਰਨ ਵਿੱਚ ਮਹੱਤਵਪੂਰਣ ਹਨ।
  • ਸੰਕਲਿਤ ਹੋਣ ਦਾ ਮਤਲਬ ਸੁਰੱਖਿਅਤ ਹੋਣਾ ਨਹੀਂ ਹੈ; ਟੈਸਟਨੈੱਟ ਅਤੇ ਆਡਿਟਿੰਗ ਲਾਜ਼ਮੀ ਹੈ।

ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ

ਇੱਕ ਸਧਾਰਨ ERC-20 ਟੋਕਨ ਲਈ, ਉੱਪਰ ਦਿੱਤੇ "ਸਟੈਂਡਰਡਸ-ਆਧਾਰਿਤ ਪਿੰਜਰ" ਪ੍ਰੋਂਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਡਰਾਫਟ ਤਿਆਰ ਕਰੋ। ਫਿਰ: (1) ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇਹ ਇੱਕ ਚੈਕ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, (2) ਪਹੁੰਚ ਨਿਯੰਤਰਣਾਂ ਦੀ ਜਾਂਚ ਕਰੋ, (3) "ਟੈਸਟ ਕੇਸ ਡਰਾਫਟ" ਪ੍ਰੋਂਪਟ ਨਾਲ ਟੈਸਟ ਤਿਆਰ ਕਰੋ ਅਤੇ ਅਸਲ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਠੱਗ-ਕਾਲਰ ਟੈਸਟ ਚਲਾਓ। ਘੱਟੋ-ਘੱਟ ਇੱਕ ਸੁਰੱਖਿਆ ਬਿੰਦੂ ਲੱਭੋ ਅਤੇ ਨੋਟ ਕਰੋ ਜੋ AI ਖੁੰਝ ਗਿਆ ਹੈ।

ਚੈੱਕਲਿਸਟ

  • [ ] ਮੈਂ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਮਿਆਰੀ ਅਤੇ ਚੇਨ ਨੂੰ ਦੱਸਿਆ ਹੈ।
  • [ ] ਮੈਂ ਸਾਬਤ ਲਾਇਬ੍ਰੇਰੀ-ਅਧਾਰਿਤ ਉਤਪਾਦਨ ਚਾਹੁੰਦਾ ਸੀ।
  • [ ] SPDX license and pragma version available.
  • [ ] There is access control in every critical function.
  • [ ] ਮੈਂ ਸੀਮਾ ਦੇ ਕੇਸਾਂ ਲਈ ਟੈਸਟ ਬਣਾਏ ਅਤੇ ਚਲਾਏ।
  • [ ] ਮੈਂ ਪੁਸ਼ਟੀ ਕੀਤੀ ਹੈ ਕਿ ਲਾਇਬ੍ਰੇਰੀ/ਪੈਟਰਨ ਅੱਪ ਟੂ ਡੇਟ ਹੈ।
  • [ ] ਮੈਂ ਆਡਿਟਿੰਗ ਅਤੇ ਟੈਸਟਿੰਗ ਲਈ ਕੋਡ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਹੈ; ਮੈਂ ਇਸਨੂੰ ਮੇਨਨੈੱਟ 'ਤੇ ਬਿਨਾਂ ਨਿਗਰਾਨੀ ਤੋਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤਾ।