Skip to content

Commit 147dce1

Browse files
committed
Updated nuklai-cli and added last bit of unit tests
1 parent 7a713e5 commit 147dce1

22 files changed

+929
-304
lines changed

README.md

+21-27
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,8 @@ If successful, the balance response should look like this:
271271
272272
```bash
273273
address: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9
274-
chainID: 2F1QmuxSSVntNHXnEevYHBZzyhsNGvAE5Y2pqJW2a4iBugTMWd
275-
uri: http://127.0.0.1:9650/ext/bc/nuklaivm
276-
address: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9 balance: 853000000.000000000 NAI
274+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
275+
address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 853000000.000000000 NAI
277276
```
278277
279278
You can also check the balance of another address by passing in the address as the argument
@@ -285,15 +284,8 @@ You can also check the balance of another address by passing in the address as t
285284
Should give output
286285
287286
```bash
288-
address: 01b27c7ce992cdb7ff039294d7901851902394bb85fa4f3dc4cbb960b07284b7f9
289-
chainID: 2F1QmuxSSVntNHXnEevYHBZzyhsNGvAE5Y2pqJW2a4iBugTMWd
290-
assetID (use NAI for native token): NAI
291-
assetID: 11111111111111111111111111111111LpoYY
292-
name: nuklaivm
293-
symbol: NAI
294-
balance: 0
295-
please send funds to 01b27c7ce992cdb7ff039294d7901851902394bb85fa4f3dc4cbb960b07284b7f9
296-
exiting...
287+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
288+
address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 0.000000000 NAI
297289
```
298290
299291
### Generate Another Address
@@ -311,8 +303,8 @@ Note that we are now generating a key with curve secp256r1 instead of ed25519 li
311303
If successful, the `nuklai-cli` will emit the new address:
312304
313305
```bash
314-
created address: 01b27c7ce992cdb7ff039294d7901851902394bb85fa4f3dc4cbb960b07284b7f9
315-
Private Key String: h3geZh5VQ4JEe829BTvaKaECnrVUGA1fEUY4imgnzbg=
306+
created address: 011ddbf62f227dd32deea73b31945d65bb6676cccae6cf0b829dfc21b290387bac
307+
Private Key String(Base64): J5kwBjyvMuvV4PfjTUOO8ZF40Db3KzhFidhH7ER+9Jg=
316308
```
317309
318310
We can also generate a bls key doing
@@ -331,11 +323,14 @@ the following command to set it back to `demo.pk`:
331323
You should see something like this:
332324
333325
```bash
334-
chainID: 2F1QmuxSSVntNHXnEevYHBZzyhsNGvAE5Y2pqJW2a4iBugTMWd
326+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
335327
stored keys: 3
336-
0) address: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9 balance: 853000000.000000000 NAI
337-
1) address: 01b27c7ce992cdb7ff039294d7901851902394bb85fa4f3dc4cbb960b07284b7f9 balance: 0.000000000 NAI
338-
2) address: 023d4f5711f36fc407e114a86b513b8c51ae124224d11eee5430c27e2d8e673893 balance: 0.000000000 NAI
328+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
329+
0) address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 853000000.000000000 NAI
330+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
331+
1) address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 0.000000000 NAI
332+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
333+
2) address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 0.000000000 NAI
339334
set default key: 0
340335
```
341336
@@ -376,15 +371,14 @@ The `nuklai-cli` will emit the following logs when the transfer is successful:
376371
377372
```bash
378373
address: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9
379-
chainID: 2hKDi8QVgngBxCbakibVqQFa3EV8YzA957q7nPT5vrQRpx8Z9E
380-
assetID (use NAI for native token): NAI
381-
balance: 853000000.000000000 NAI
382-
recipient: 00fa92500595699234176c32afbf5c6558df21deb10ba4d2d691e5e5148658c64a
383-
amount: 1
374+
chainID: PAroBtUb83kcU5m3XiD37D263cB8kaZsiZ1rG7DLKxs8EX7Cq
375+
assetAddress (use NAI for native token): NAI
376+
address: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb balance: 853000000.000000000 NAI
377+
✔ amount: 1█
384378
continue (y/n): y
385-
✅ txID: X4HTZbkvrXy8Ka3VBdEJLGj1eUVNQf9LoWZyLZCxham1D1zND
386-
fee consumed: 0.000032100
387-
output: &{SenderBalance:852999998999967900 ReceiverBalance:1000000000}
379+
✅ txID: wjzqXJeYedVSyBWfapoGiHYC9EQr2HgkA7xrVW4KZQyP1jxxG
380+
txID: wjzqXJeYedVSyBWfapoGiHYC9EQr2HgkA7xrVW4KZQyP1jxxG
381+
fee consumed: 0.000048500 NAI
388382
```
389383
390384
### Bonus: Watch Activity in Real-Time
@@ -408,7 +402,7 @@ select chainID: 0 [auto-selected]
408402
uri: http://127.0.0.1:9650/ext/bc/nuklaivm
409403
watching for new blocks on 2F1QmuxSSVntNHXnEevYHBZzyhsNGvAE5Y2pqJW2a4iBugTMWd 👀
410404
height:3003 txs:1 root:uNXBoJRGNo8JCJ8XDEioqVnJjwrVSSKBMgbaTd9AWFiUke2vE size:0.30KB units consumed: [bandwidth=224 compute=7 storage(read)=14 storage(allocate)=50 storage(write)=26] unit prices: [bandwidth=100 compute=100 storage(read)=100 storage(allocate)=100 storage(write)=100] [TPS:0.10 latency:66ms gap:142ms]
411-
X3VcRchV8E8CoK38qEWYG9mNFLTwxm5V1mhZzsF4KCdkuwfPB actor: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9 summary (*actions.Transfer): [assetID: 11111111111111111111111111111111LpoYY amount: 100000000000 -> 01b27c7ce992cdb7ff039294d7901851902394bb85fa4f3dc4cbb960b07284b7f9
405+
2deLZJJpfXm1Wrad1f8uZL1aZnrCkEtBZ6aFXNcR7stFYN8Rm8 actor: 00c4cb545f748a28770042f893784ce85b107389004d6a0e0d6d7518eeae1292d9 summary (*actions.Transfer): [assetID: 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb amount: 1000000000 -> 00cf77495ce1bdbf11e5e45463fad5a862cb6cc0a20e00e658c4ac3355dcdc64bb
412406
]
413407
```
414408
+221
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
// Copyright (C) 2024, Nuklai. All rights reserved.
2+
// See the file LICENSE for licensing terms.
3+
4+
package actions
5+
6+
import (
7+
"context"
8+
"testing"
9+
10+
"github.com/nuklai/nuklaivm/emission"
11+
"github.com/nuklai/nuklaivm/storage"
12+
"github.com/nuklai/nuklaivm/utils"
13+
"github.com/stretchr/testify/require"
14+
15+
"github.com/ava-labs/hypersdk/chain/chaintest"
16+
"github.com/ava-labs/hypersdk/codec"
17+
"github.com/ava-labs/hypersdk/codec/codectest"
18+
"github.com/ava-labs/hypersdk/state"
19+
20+
nconsts "github.com/nuklai/nuklaivm/consts"
21+
)
22+
23+
func TestClaimMarketplacePaymentAction(t *testing.T) {
24+
actor := codectest.NewRandomAddress()
25+
datasetAddress := storage.AssetAddress(nconsts.AssetFractionalTokenID, []byte("Valid Name"), []byte("DATASET"), 0, []byte("metadata"), actor)
26+
baseAssetAddress := storage.NAIAddress
27+
marketplaceAssetAddress := storage.AssetAddressFractional(datasetAddress)
28+
29+
emission.MockNewEmission(&emission.MockEmission{LastAcceptedBlockHeight: 100})
30+
31+
tests := []chaintest.ActionTest{
32+
{
33+
Name: "WrongOwner",
34+
Actor: codectest.NewRandomAddress(), // Not the owner of the asset
35+
Action: &ClaimMarketplacePayment{
36+
MarketplaceAssetAddress: marketplaceAssetAddress,
37+
PaymentAssetAddress: baseAssetAddress,
38+
},
39+
State: func() state.Mutable {
40+
store := chaintest.NewInMemoryStore()
41+
metadata := map[string]string{
42+
"datasetAddress": datasetAddress.String(),
43+
"marketplaceAssetAddress": marketplaceAssetAddress.String(),
44+
"datasetPricePerBlock": "100",
45+
"paymentAssetAddress": baseAssetAddress.String(),
46+
"publisher": actor.String(),
47+
"lastClaimedBlock": "0",
48+
"subscriptions": "0",
49+
"paymentRemaining": "0",
50+
"paymentClaimed": "0",
51+
}
52+
metadataBytes, err := utils.MapToBytes(metadata)
53+
require.NoError(t, err)
54+
require.NoError(t, storage.SetAssetInfo(context.Background(), store, marketplaceAssetAddress, nconsts.AssetMarketplaceTokenID, []byte("name"), []byte("SYM"), 0, metadataBytes, []byte(marketplaceAssetAddress.String()), 0, 0, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress))
55+
return store
56+
}(),
57+
ExpectedErr: ErrWrongOwner,
58+
},
59+
{
60+
Name: "BaseAssetNotSupported",
61+
Actor: actor,
62+
Action: &ClaimMarketplacePayment{
63+
MarketplaceAssetAddress: marketplaceAssetAddress,
64+
PaymentAssetAddress: codec.EmptyAddress, // Invalid base asset ID
65+
},
66+
State: func() state.Mutable {
67+
store := chaintest.NewInMemoryStore()
68+
metadata := map[string]string{
69+
"datasetAddress": datasetAddress.String(),
70+
"marketplaceAssetAddress": marketplaceAssetAddress.String(),
71+
"datasetPricePerBlock": "100",
72+
"paymentAssetAddress": baseAssetAddress.String(),
73+
"publisher": actor.String(),
74+
"lastClaimedBlock": "0",
75+
"subscriptions": "0",
76+
"paymentRemaining": "0",
77+
"paymentClaimed": "0",
78+
}
79+
metadataBytes, err := utils.MapToBytes(metadata)
80+
require.NoError(t, err)
81+
require.NoError(t, storage.SetAssetInfo(context.Background(), store, marketplaceAssetAddress, nconsts.AssetMarketplaceTokenID, []byte("name"), []byte("SYM"), 0, metadataBytes, []byte(marketplaceAssetAddress.String()), 0, 0, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress))
82+
return store
83+
}(),
84+
ExpectedErr: ErrPaymentAssetNotSupported,
85+
},
86+
{
87+
Name: "NoPaymentRemaining",
88+
Actor: actor,
89+
Action: &ClaimMarketplacePayment{
90+
MarketplaceAssetAddress: marketplaceAssetAddress,
91+
PaymentAssetAddress: baseAssetAddress,
92+
},
93+
State: func() state.Mutable {
94+
store := chaintest.NewInMemoryStore()
95+
metadata := map[string]string{
96+
"datasetAddress": datasetAddress.String(),
97+
"marketplaceAssetAddress": marketplaceAssetAddress.String(),
98+
"datasetPricePerBlock": "100",
99+
"paymentAssetAddress": baseAssetAddress.String(),
100+
"publisher": actor.String(),
101+
"lastClaimedBlock": "50",
102+
"subscriptions": "0",
103+
"paymentRemaining": "0",
104+
"paymentClaimed": "0",
105+
}
106+
metadataBytes, err := utils.MapToBytes(metadata)
107+
require.NoError(t, err)
108+
require.NoError(t, storage.SetAssetInfo(context.Background(), store, marketplaceAssetAddress, nconsts.AssetMarketplaceTokenID, []byte("name"), []byte("SYM"), 0, metadataBytes, []byte(marketplaceAssetAddress.String()), 0, 0, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress))
109+
return store
110+
}(),
111+
ExpectedErr: ErrNoPaymentRemaining,
112+
},
113+
{
114+
Name: "ValidPaymentClaim",
115+
Actor: actor,
116+
Action: &ClaimMarketplacePayment{
117+
MarketplaceAssetAddress: marketplaceAssetAddress,
118+
PaymentAssetAddress: baseAssetAddress,
119+
},
120+
State: func() state.Mutable {
121+
store := chaintest.NewInMemoryStore()
122+
metadata := map[string]string{
123+
"datasetAddress": datasetAddress.String(),
124+
"marketplaceAssetAddress": marketplaceAssetAddress.String(),
125+
"datasetPricePerBlock": "100",
126+
"paymentAssetAddress": baseAssetAddress.String(),
127+
"publisher": actor.String(),
128+
"lastClaimedBlock": "0",
129+
"subscriptions": "0",
130+
"paymentRemaining": "100",
131+
"paymentClaimed": "0",
132+
}
133+
metadataBytes, err := utils.MapToBytes(metadata)
134+
require.NoError(t, err)
135+
require.NoError(t, storage.SetAssetInfo(context.Background(), store, marketplaceAssetAddress, nconsts.AssetMarketplaceTokenID, []byte("name"), []byte("SYM"), 0, metadataBytes, []byte(marketplaceAssetAddress.String()), 0, 0, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress))
136+
return store
137+
}(),
138+
Assertion: func(ctx context.Context, t *testing.T, store state.Mutable) {
139+
// Check if the payment was correctly claimed
140+
balance, err := storage.GetAssetAccountBalanceNoController(ctx, store, baseAssetAddress, actor)
141+
require.NoError(t, err)
142+
require.Equal(t, uint64(100), balance) // 100 units claimed
143+
144+
// Check if metadata was updated correctly
145+
_, _, _, _, metadata, _, _, _, _, _, _, _, _, err := storage.GetAssetInfoNoController(ctx, store, marketplaceAssetAddress)
146+
require.NoError(t, err)
147+
metadataMap, err := utils.BytesToMap(metadata)
148+
require.NoError(t, err)
149+
require.Equal(t, "0", metadataMap["paymentRemaining"]) // 1000 - 100 claimed
150+
require.Equal(t, "100", metadataMap["paymentClaimed"])
151+
require.Equal(t, "100", metadataMap["lastClaimedBlock"])
152+
},
153+
ExpectedOutputs: &ClaimMarketplacePaymentResult{
154+
LastClaimedBlock: 100,
155+
PaymentClaimed: 100,
156+
PaymentRemaining: 0,
157+
DistributedReward: 100,
158+
DistributedTo: actor,
159+
},
160+
},
161+
}
162+
163+
for _, tt := range tests {
164+
tt.Run(context.Background(), t)
165+
}
166+
}
167+
168+
func BenchmarkClaimMarketplacePayment(b *testing.B) {
169+
require := require.New(b)
170+
actor := codectest.NewRandomAddress()
171+
datasetAddress := storage.AssetAddress(nconsts.AssetFractionalTokenID, []byte("Valid Name"), []byte("DATASET"), 0, []byte("metadata"), actor)
172+
baseAssetAddress := storage.NAIAddress
173+
marketplaceAssetAddress := storage.AssetAddressFractional(datasetAddress)
174+
175+
emission.MockNewEmission(&emission.MockEmission{LastAcceptedBlockHeight: 100})
176+
177+
claimMarketplacePaymentBenchmark := &chaintest.ActionBenchmark{
178+
Name: "ClaimMarketplacePaymentBenchmark",
179+
Actor: actor,
180+
Action: &ClaimMarketplacePayment{
181+
MarketplaceAssetAddress: marketplaceAssetAddress,
182+
PaymentAssetAddress: baseAssetAddress,
183+
},
184+
CreateState: func() state.Mutable {
185+
store := chaintest.NewInMemoryStore()
186+
metadata := map[string]string{
187+
"datasetAddress": datasetAddress.String(),
188+
"marketplaceAssetAddress": marketplaceAssetAddress.String(),
189+
"datasetPricePerBlock": "100",
190+
"paymentAssetAddress": baseAssetAddress.String(),
191+
"publisher": actor.String(),
192+
"lastClaimedBlock": "0",
193+
"subscriptions": "0",
194+
"paymentRemaining": "100",
195+
"paymentClaimed": "0",
196+
}
197+
metadataBytes, err := utils.MapToBytes(metadata)
198+
require.NoError(err)
199+
require.NoError(storage.SetAssetInfo(context.Background(), store, marketplaceAssetAddress, nconsts.AssetMarketplaceTokenID, []byte("name"), []byte("SYM"), 0, metadataBytes, []byte(marketplaceAssetAddress.String()), 0, 0, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress))
200+
return store
201+
},
202+
Assertion: func(ctx context.Context, b *testing.B, store state.Mutable) {
203+
// Check if the payment was correctly claimed
204+
balance, err := storage.GetAssetAccountBalanceNoController(ctx, store, baseAssetAddress, actor)
205+
require.NoError(err)
206+
require.Equal(uint64(100), balance) // 100 units claimed
207+
208+
// Check if metadata was updated correctly
209+
_, _, _, _, metadata, _, _, _, _, _, _, _, _, err := storage.GetAssetInfoNoController(ctx, store, marketplaceAssetAddress)
210+
require.NoError(err)
211+
metadataMap, err := utils.BytesToMap(metadata)
212+
require.NoError(err)
213+
require.Equal("0", metadataMap["paymentRemaining"]) // 1000 - 100 claimed
214+
require.Equal("100", metadataMap["paymentClaimed"])
215+
require.Equal("100", metadataMap["lastClaimedBlock"])
216+
},
217+
}
218+
219+
ctx := context.Background()
220+
claimMarketplacePaymentBenchmark.Run(ctx, b)
221+
}

actions/complete_contribute_dataset.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func (d *CompleteContributeDataset) Execute(
9898
}
9999

100100
// Retrieve the asset info
101-
assetType, name, symbol, _, _, _, totalSupply, _, _, _, _, _, _, err := storage.GetAssetInfoNoController(ctx, mu, d.DatasetAddress)
101+
_, name, symbol, _, _, _, totalSupply, _, _, _, _, _, _, err := storage.GetAssetInfoNoController(ctx, mu, d.DatasetAddress)
102102
if err != nil {
103103
return nil, err
104104
}
@@ -117,7 +117,7 @@ func (d *CompleteContributeDataset) Execute(
117117
}
118118
nftAddress := codec.CreateAddress(nconsts.AssetFractionalTokenID, d.DatasetContributionID)
119119
symbol = utils.CombineWithSuffix(symbol, totalSupply, storage.MaxSymbolSize)
120-
if err := storage.SetAssetInfo(ctx, mu, nftAddress, assetType, name, symbol, 0, metadataNFT, []byte(d.DatasetAddress.String()), 0, 1, d.DatasetContributor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress); err != nil {
120+
if err := storage.SetAssetInfo(ctx, mu, nftAddress, nconsts.AssetNonFungibleTokenID, name, symbol, 0, metadataNFT, []byte(d.DatasetAddress.String()), 0, 1, d.DatasetContributor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress); err != nil {
121121
return nil, err
122122
}
123123
if _, err := storage.MintAsset(ctx, mu, nftAddress, d.DatasetContributor, 1); err != nil {

actions/complete_contribute_dataset_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func TestCompleteContributeDatasetAction(t *testing.T) {
156156
// Check if NFT was created correctly
157157
assetType, name, symbol, decimals, metadata, uri, totalSupply, maxSupply, owner, mintAdmin, pauseUnpauseAdmin, freezeUnfreezeAdmin, enableDisableKYCAccountAdmin, err := storage.GetAssetInfoNoController(ctx, store, nftAddress)
158158
require.NoError(t, err)
159-
require.Equal(t, nconsts.AssetFractionalTokenID, assetType)
159+
require.Equal(t, nconsts.AssetNonFungibleTokenID, assetType)
160160
require.Equal(t, "name", string(name))
161161
require.Equal(t, "SYM-1", string(symbol))
162162
require.Equal(t, uint8(0), decimals)
@@ -238,7 +238,7 @@ func BenchmarkCompleteContributeDataset(b *testing.B) {
238238
// Check if NFT was created correctly
239239
assetType, name, symbol, decimals, metadata, uri, totalSupply, maxSupply, owner, mintAdmin, pauseUnpauseAdmin, freezeUnfreezeAdmin, enableDisableKYCAccountAdmin, err := storage.GetAssetInfoNoController(ctx, store, nftAddress)
240240
require.NoError(err)
241-
require.Equal(nconsts.AssetFractionalTokenID, assetType)
241+
require.Equal(nconsts.AssetNonFungibleTokenID, assetType)
242242
require.Equal("name", string(name))
243243
require.Equal("SYM-1", string(symbol))
244244
require.Equal(uint8(0), decimals)

actions/create_asset.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func (c *CreateAsset) Execute(
154154
nftAddress := storage.AssetAddressNFT(assetAddress, []byte(c.Metadata), actor)
155155
output.DatasetParentNftAddress = nftAddress
156156
symbol := utils.CombineWithSuffix([]byte(c.Symbol), 0, storage.MaxSymbolSize)
157-
if err := storage.SetAssetInfo(ctx, mu, nftAddress, c.AssetType, []byte(c.Name), symbol, 0, []byte(c.Metadata), []byte(assetAddress.String()), 0, 1, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress); err != nil {
157+
if err := storage.SetAssetInfo(ctx, mu, nftAddress, nconsts.AssetNonFungibleTokenID, []byte(c.Name), symbol, 0, []byte(c.Metadata), []byte(assetAddress.String()), 0, 1, actor, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress, codec.EmptyAddress); err != nil {
158158
return nil, err
159159
}
160160
newBalance, err := storage.MintAsset(ctx, mu, nftAddress, actor, amountOfToken)

actions/create_asset_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ func TestCreateAssetAction(t *testing.T) {
214214
// Check if NFT was created correctly
215215
assetType, name, symbol, decimals, metadata, uri, totalSupply, maxSupply, owner, mintAdmin, pauseUnpauseAdmin, freezeUnfreezeAdmin, enableDisableKYCAccountAdmin, err = storage.GetAssetInfoNoController(ctx, store, nftAddress)
216216
require.NoError(t, err)
217-
require.Equal(t, nconsts.AssetFractionalTokenID, assetType)
217+
require.Equal(t, nconsts.AssetNonFungibleTokenID, assetType)
218218
require.Equal(t, "name", string(name))
219219
require.Equal(t, "SYM-0", string(symbol))
220220
require.Equal(t, uint8(0), decimals)
@@ -273,7 +273,7 @@ func BenchmarkCreateAsset(b *testing.B) {
273273
// Check if the asset was created correctly
274274
assetType, name, symbol, decimals, metadata, uri, totalSupply, maxSupply, owner, mintAdmin, pauseUnpauseAdmin, freezeUnfreezeAdmin, enableDisableKYCAccountAdmin, err := storage.GetAssetInfoNoController(ctx, store, assetFT)
275275
require.NoError(err)
276-
require.Equal(nconsts.AssetFungibleTokenID, assetType)
276+
require.Equal(nconsts.AssetNonFungibleTokenID, assetType)
277277
require.Equal("name", string(name))
278278
require.Equal("SYM", string(symbol))
279279
require.Equal(uint8(9), decimals)

actions/initiate_contribute_dataset_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"strings"
99
"testing"
1010

11-
nconsts "github.com/nuklai/nuklaivm/consts"
1211
"github.com/nuklai/nuklaivm/dataset"
1312
"github.com/nuklai/nuklaivm/storage"
1413
"github.com/stretchr/testify/require"
@@ -17,6 +16,8 @@ import (
1716
"github.com/ava-labs/hypersdk/codec"
1817
"github.com/ava-labs/hypersdk/codec/codectest"
1918
"github.com/ava-labs/hypersdk/state"
19+
20+
nconsts "github.com/nuklai/nuklaivm/consts"
2021
)
2122

2223
func TestInitiateContributeDatasetAction(t *testing.T) {

0 commit comments

Comments
 (0)