@silvana-one/nft 0.1.22 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,276 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AccountUpdate, method, Permissions, PublicKey, State, state, UInt64, SmartContract, Bool, Field, Struct, VerificationKey, } from "o1js";
3
+ /**
4
+ * The BulletinBoard contract serves as a centralized event emitter for NFT marketplace activities.
5
+ * It provides a standardized way to broadcast and track various marketplace events such as:
6
+ * - New collection listings
7
+ * - Offers made on NFTs
8
+ * - Offer cancellations
9
+ * - Bids placed on NFTs
10
+ * - Bid cancellations
11
+ * - Completed sales
12
+ *
13
+ * While anyone can emit events through this contract, all events are prefixed with "BB_" to
14
+ * distinguish them from events emitted directly by NFT contracts. This helps maintain clarity
15
+ * in event tracking and marketplace activity monitoring.
16
+ *
17
+ * The BulletinBoard does not handle any NFT transfers or escrow - it purely exists as an
18
+ * event broadcasting mechanism to help indexers and UIs track marketplace activity.
19
+ */
20
+ export { BB_NewCollectionEvent, BB_OfferEvent, BB_CancelOfferEvent, BB_BidEvent, BB_CancelBidEvent, BB_SaleEvent, BB_UpgradeVerificationKeyEvent, BB_ChangeAdminEvent, BulletinBoard, };
21
+ class BB_NewCollectionEvent extends Struct({
22
+ /** The collection address. */
23
+ collection: PublicKey,
24
+ }) {
25
+ }
26
+ class BB_OfferEvent extends Struct({
27
+ /** The collection address. */
28
+ collection: PublicKey,
29
+ /** The NFT address. */
30
+ nft: PublicKey,
31
+ /** The offer address. */
32
+ offer: PublicKey,
33
+ /** The price. */
34
+ price: UInt64,
35
+ }) {
36
+ }
37
+ class BB_CancelOfferEvent extends Struct({
38
+ /** The collection address. */
39
+ collection: PublicKey,
40
+ /** The NFT address. */
41
+ nft: PublicKey,
42
+ }) {
43
+ }
44
+ class BB_BidEvent extends Struct({
45
+ /** The collection address. */
46
+ collection: PublicKey,
47
+ /** The NFT address. */
48
+ nft: PublicKey,
49
+ /** The bid address. */
50
+ bid: PublicKey,
51
+ /** The price. */
52
+ price: UInt64,
53
+ }) {
54
+ }
55
+ class BB_CancelBidEvent extends Struct({
56
+ /** The collection address. */
57
+ collection: PublicKey,
58
+ /** The NFT address. */
59
+ nft: PublicKey,
60
+ /** The bid address. */
61
+ bid: PublicKey,
62
+ }) {
63
+ }
64
+ class BB_SaleEvent extends Struct({
65
+ /** The collection address. */
66
+ collection: PublicKey,
67
+ /** The NFT address. */
68
+ nft: PublicKey,
69
+ /** The buyer address. */
70
+ buyer: PublicKey,
71
+ /** The price. */
72
+ price: UInt64,
73
+ }) {
74
+ }
75
+ class BB_UpgradeVerificationKeyEvent extends Struct({
76
+ /** The new verification key. */
77
+ vk: Field,
78
+ }) {
79
+ }
80
+ class BB_ChangeAdminEvent extends Struct({
81
+ /** The new admin. */
82
+ admin: PublicKey,
83
+ }) {
84
+ }
85
+ /**
86
+ * The BulletinBoard contract serves as a centralized event emitter for NFT marketplace activities.
87
+ * It provides a standardized way to broadcast and track various marketplace events such as:
88
+ * - New collection listings
89
+ * - Offers made on NFTs
90
+ * - Offer cancellations
91
+ * - Bids placed on NFTs
92
+ * - Bid cancellations
93
+ * - Completed sales
94
+ *
95
+ * While anyone can emit events through this contract, all events are prefixed with "BB_" to
96
+ * distinguish them from events emitted directly by NFT contracts. This helps maintain clarity
97
+ * in event tracking and marketplace activity monitoring.
98
+ */
99
+ class BulletinBoard extends SmartContract {
100
+ constructor() {
101
+ super(...arguments);
102
+ this.admin = State();
103
+ this.events = {
104
+ newCollection: BB_NewCollectionEvent,
105
+ offer: BB_OfferEvent,
106
+ cancelOffer: BB_CancelOfferEvent,
107
+ bid: BB_BidEvent,
108
+ cancelBid: BB_CancelBidEvent,
109
+ sale: BB_SaleEvent,
110
+ upgradeVerificationKey: BB_UpgradeVerificationKeyEvent,
111
+ changeAdmin: BB_ChangeAdminEvent,
112
+ };
113
+ }
114
+ async deploy(args) {
115
+ await super.deploy(args);
116
+ this.admin.set(args.admin);
117
+ this.account.permissions.set({
118
+ ...Permissions.default(),
119
+ send: Permissions.proof(),
120
+ setVerificationKey: Permissions.VerificationKey.proofDuringCurrentVersion(),
121
+ setPermissions: Permissions.impossible(),
122
+ });
123
+ }
124
+ /**
125
+ * Emits a new collection event.
126
+ * @param collection - The collection address.
127
+ */
128
+ async newCollection(collection) {
129
+ this.emitEvent("newCollection", new BB_NewCollectionEvent({
130
+ collection,
131
+ }));
132
+ }
133
+ /**
134
+ * Emits an offer event.
135
+ * @param collection - The collection address.
136
+ * @param nft - The NFT address.
137
+ * @param offer - The offer address.
138
+ * @param price - The price.
139
+ */
140
+ async offer(collection, nft, offer, price) {
141
+ this.emitEvent("offer", new BB_OfferEvent({ collection, nft, offer, price }));
142
+ }
143
+ /**
144
+ * Emits a cancel offer event.
145
+ * @param collection - The collection address.
146
+ * @param nft - The NFT address.
147
+ */
148
+ async cancelOffer(collection, nft) {
149
+ this.emitEvent("cancelOffer", new BB_CancelOfferEvent({ collection, nft }));
150
+ }
151
+ /**
152
+ * Emits a bid event.
153
+ * @param collection - The collection address.
154
+ * @param nft - The NFT address.
155
+ * @param bid - The bid address.
156
+ * @param price - The price.
157
+ */
158
+ async bid(collection, nft, bid, price) {
159
+ this.emitEvent("bid", new BB_BidEvent({ collection, nft, bid, price }));
160
+ }
161
+ /**
162
+ * Emits a cancel bid event.
163
+ * @param collection - The collection address.
164
+ * @param nft - The NFT address.
165
+ * @param bid - The bid address.
166
+ */
167
+ async cancelBid(collection, nft, bid) {
168
+ this.emitEvent("cancelBid", new BB_CancelBidEvent({ collection, nft, bid }));
169
+ }
170
+ /**
171
+ * Emits a sale event.
172
+ * @param collection - The collection address.
173
+ * @param nft - The NFT address.
174
+ * @param buyer - The buyer address.
175
+ * @param price - The price.
176
+ */
177
+ async sale(collection, nft, buyer, price) {
178
+ this.emitEvent("sale", new BB_SaleEvent({ collection, nft, buyer, price }));
179
+ }
180
+ /**
181
+ * Ensures that the transaction is authorized by the contract owner.
182
+ * @returns A signed `AccountUpdate` from the admin.
183
+ */
184
+ async ensureOwnerSignature() {
185
+ const admin = this.admin.getAndRequireEquals();
186
+ const adminUpdate = AccountUpdate.createSigned(admin);
187
+ adminUpdate.body.useFullCommitment = Bool(true); // Prevent memo and fee change
188
+ return adminUpdate;
189
+ }
190
+ /**
191
+ * Changes the contract's admin
192
+ * @param admin - The new admin.
193
+ */
194
+ async changeAdmin(admin) {
195
+ await this.ensureOwnerSignature();
196
+ // Set the new admin
197
+ this.admin.set(admin);
198
+ // Emit the change admin event
199
+ this.emitEvent("changeAdmin", new BB_ChangeAdminEvent({ admin }));
200
+ }
201
+ /**
202
+ * Upgrades the contract's verification key after validating with the upgrade authority.
203
+ * @param vk - The new verification key to upgrade to.
204
+ */
205
+ async upgradeVerificationKey(vk) {
206
+ await this.ensureOwnerSignature();
207
+ // Set the new verification key
208
+ this.account.verificationKey.set(vk);
209
+ // Emit the upgrade event
210
+ this.emitEvent("upgradeVerificationKey", new BB_UpgradeVerificationKeyEvent({ vk: vk.hash }));
211
+ }
212
+ }
213
+ __decorate([
214
+ state(PublicKey),
215
+ __metadata("design:type", Object)
216
+ ], BulletinBoard.prototype, "admin", void 0);
217
+ __decorate([
218
+ method,
219
+ __metadata("design:type", Function),
220
+ __metadata("design:paramtypes", [PublicKey]),
221
+ __metadata("design:returntype", Promise)
222
+ ], BulletinBoard.prototype, "newCollection", null);
223
+ __decorate([
224
+ method,
225
+ __metadata("design:type", Function),
226
+ __metadata("design:paramtypes", [PublicKey,
227
+ PublicKey,
228
+ PublicKey,
229
+ UInt64]),
230
+ __metadata("design:returntype", Promise)
231
+ ], BulletinBoard.prototype, "offer", null);
232
+ __decorate([
233
+ method,
234
+ __metadata("design:type", Function),
235
+ __metadata("design:paramtypes", [PublicKey, PublicKey]),
236
+ __metadata("design:returntype", Promise)
237
+ ], BulletinBoard.prototype, "cancelOffer", null);
238
+ __decorate([
239
+ method,
240
+ __metadata("design:type", Function),
241
+ __metadata("design:paramtypes", [PublicKey,
242
+ PublicKey,
243
+ PublicKey,
244
+ UInt64]),
245
+ __metadata("design:returntype", Promise)
246
+ ], BulletinBoard.prototype, "bid", null);
247
+ __decorate([
248
+ method,
249
+ __metadata("design:type", Function),
250
+ __metadata("design:paramtypes", [PublicKey,
251
+ PublicKey,
252
+ PublicKey]),
253
+ __metadata("design:returntype", Promise)
254
+ ], BulletinBoard.prototype, "cancelBid", null);
255
+ __decorate([
256
+ method,
257
+ __metadata("design:type", Function),
258
+ __metadata("design:paramtypes", [PublicKey,
259
+ PublicKey,
260
+ PublicKey,
261
+ UInt64]),
262
+ __metadata("design:returntype", Promise)
263
+ ], BulletinBoard.prototype, "sale", null);
264
+ __decorate([
265
+ method,
266
+ __metadata("design:type", Function),
267
+ __metadata("design:paramtypes", [PublicKey]),
268
+ __metadata("design:returntype", Promise)
269
+ ], BulletinBoard.prototype, "changeAdmin", null);
270
+ __decorate([
271
+ method,
272
+ __metadata("design:type", Function),
273
+ __metadata("design:paramtypes", [VerificationKey]),
274
+ __metadata("design:returntype", Promise)
275
+ ], BulletinBoard.prototype, "upgradeVerificationKey", null);
276
+ //# sourceMappingURL=bb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb.js","sourceRoot":"","sources":["../../../src/marketplace/bb.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export * from "./offer.js";
3
3
  export * from "./auction.js";
4
4
  export * from "./types.js";
5
5
  export * from "./nft-shares.js";
6
+ export * from "./bb.js";
@@ -3,4 +3,5 @@ export * from "./offer.js";
3
3
  export * from "./auction.js";
4
4
  export * from "./types.js";
5
5
  export * from "./nft-shares.js";
6
+ export * from "./bb.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/marketplace/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/marketplace/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -30,7 +30,7 @@ export declare function OfferFactory(params: {
30
30
  buy: typeof TransferEvent;
31
31
  };
32
32
  getCollectionContract(address: PublicKey): NFTCollectionBase;
33
- buy(): Promise<void>;
33
+ buy(buyer: PublicKey): Promise<void>;
34
34
  canTransfer(params: TransferExtendedParams): Promise<Bool>;
35
35
  "__#3@#private": any;
36
36
  address: PublicKey;
@@ -41,7 +41,7 @@ export function OfferFactory(params) {
41
41
  const CollectionContract = collectionContract();
42
42
  return new CollectionContract(address);
43
43
  }
44
- async buy() {
44
+ async buy(buyer) {
45
45
  const insideBuy = this.insideBuy.getAndRequireEquals();
46
46
  insideBuy.assertFalse("Already inside buy method");
47
47
  this.insideBuy.set(Bool(true));
@@ -52,7 +52,7 @@ export function OfferFactory(params) {
52
52
  await collection.transferByProof({
53
53
  address: nftAddress,
54
54
  from: this.address,
55
- to: this.sender.getUnconstrained(),
55
+ to: buyer,
56
56
  price: UInt64Option.fromValue(price),
57
57
  context: new NFTTransactionContext({
58
58
  custom: [Field(0), Field(0), Field(0)],
@@ -118,7 +118,7 @@ export function OfferFactory(params) {
118
118
  __decorate([
119
119
  method,
120
120
  __metadata("design:type", Function),
121
- __metadata("design:paramtypes", []),
121
+ __metadata("design:paramtypes", [PublicKey]),
122
122
  __metadata("design:returntype", Promise)
123
123
  ], NonFungibleTokenOfferContract.prototype, "buy", null);
124
124
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../src/marketplace/offer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../src/marketplace/offer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@silvana-one/nft",
3
3
  "description": "Silvana - Mina NFT library",
4
- "version": "0.1.22",
4
+ "version": "0.1.25",
5
5
  "author": "DFST",
6
6
  "bugs": "https://github.com/SilvanaOne/silvana-lib/issues",
7
7
  "dependencies": {
@@ -9,9 +9,9 @@
9
9
  "tslib": "^2.8.1"
10
10
  },
11
11
  "devDependencies": {
12
- "@silvana-one/storage": "0.1.22",
13
- "@silvana-one/token": "0.1.22",
14
- "@silvana-one/upgradable": "0.1.22",
12
+ "@silvana-one/storage": "0.1.25",
13
+ "@silvana-one/token": "0.1.25",
14
+ "@silvana-one/upgradable": "0.1.25",
15
15
  "@types/node": "^22.10.2",
16
16
  "esbuild": "^0.25.0",
17
17
  "o1js": "^2.2.0",
@@ -46,9 +46,9 @@
46
46
  "license": "Apache-2.0",
47
47
  "main": "dist/web/index.js",
48
48
  "peerDependencies": {
49
- "@silvana-one/storage": "0.1.22",
50
- "@silvana-one/token": "0.1.22",
51
- "@silvana-one/upgradable": "0.1.22",
49
+ "@silvana-one/storage": "0.1.25",
50
+ "@silvana-one/token": "0.1.25",
51
+ "@silvana-one/upgradable": "0.1.25",
52
52
  "o1js": "^2.2.0"
53
53
  },
54
54
  "publishConfig": {
package/src/contracts.ts CHANGED
@@ -96,6 +96,7 @@ export function NonFungibleTokenContractsFactory(params: {
96
96
 
97
97
  export const { Collection, Approval, Owner, Admin, Update } =
98
98
  NonFungibleTokenContractsFactory({});
99
+ export const Offer = Approval as unknown as ReturnType<typeof OfferFactory>;
99
100
 
100
101
  export const {
101
102
  Collection: AdvancedCollection,
@@ -105,3 +106,7 @@ export const {
105
106
  } = NonFungibleTokenContractsFactory({
106
107
  adminContract: NFTAdvancedAdmin,
107
108
  });
109
+
110
+ export const AdvancedOffer = AdvancedApproval as unknown as ReturnType<
111
+ typeof OfferFactory
112
+ >;