@silvana-one/nft 0.1.0

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.
Files changed (236) hide show
  1. package/README.md +1400 -0
  2. package/dist/node/admin/advanced.d.ts +469 -0
  3. package/dist/node/admin/advanced.js +525 -0
  4. package/dist/node/admin/advanced.js.map +1 -0
  5. package/dist/node/admin/index.d.ts +1 -0
  6. package/dist/node/admin/index.js +2 -0
  7. package/dist/node/admin/index.js.map +1 -0
  8. package/dist/node/contracts/admin.d.ts +140 -0
  9. package/dist/node/contracts/admin.js +336 -0
  10. package/dist/node/contracts/admin.js.map +1 -0
  11. package/dist/node/contracts/collection.d.ts +551 -0
  12. package/dist/node/contracts/collection.js +1049 -0
  13. package/dist/node/contracts/collection.js.map +1 -0
  14. package/dist/node/contracts/index.d.ts +3 -0
  15. package/dist/node/contracts/index.js +4 -0
  16. package/dist/node/contracts/index.js.map +1 -0
  17. package/dist/node/contracts/nft.d.ts +76 -0
  18. package/dist/node/contracts/nft.js +329 -0
  19. package/dist/node/contracts/nft.js.map +1 -0
  20. package/dist/node/contracts.d.ts +709 -0
  21. package/dist/node/contracts.js +61 -0
  22. package/dist/node/contracts.js.map +1 -0
  23. package/dist/node/index.cjs +5032 -0
  24. package/dist/node/index.d.ts +8 -0
  25. package/dist/node/index.js +9 -0
  26. package/dist/node/index.js.map +1 -0
  27. package/dist/node/interfaces/admin.d.ts +102 -0
  28. package/dist/node/interfaces/admin.js +2 -0
  29. package/dist/node/interfaces/admin.js.map +1 -0
  30. package/dist/node/interfaces/approval.d.ts +57 -0
  31. package/dist/node/interfaces/approval.js +62 -0
  32. package/dist/node/interfaces/approval.js.map +1 -0
  33. package/dist/node/interfaces/collection.d.ts +57 -0
  34. package/dist/node/interfaces/collection.js +2 -0
  35. package/dist/node/interfaces/collection.js.map +1 -0
  36. package/dist/node/interfaces/encoding.d.ts +24 -0
  37. package/dist/node/interfaces/encoding.js +32 -0
  38. package/dist/node/interfaces/encoding.js.map +1 -0
  39. package/dist/node/interfaces/events.d.ts +833 -0
  40. package/dist/node/interfaces/events.js +106 -0
  41. package/dist/node/interfaces/events.js.map +1 -0
  42. package/dist/node/interfaces/index.d.ts +10 -0
  43. package/dist/node/interfaces/index.js +11 -0
  44. package/dist/node/interfaces/index.js.map +1 -0
  45. package/dist/node/interfaces/ownable.d.ts +94 -0
  46. package/dist/node/interfaces/ownable.js +12 -0
  47. package/dist/node/interfaces/ownable.js.map +1 -0
  48. package/dist/node/interfaces/owner.d.ts +61 -0
  49. package/dist/node/interfaces/owner.js +101 -0
  50. package/dist/node/interfaces/owner.js.map +1 -0
  51. package/dist/node/interfaces/pausable.d.ts +74 -0
  52. package/dist/node/interfaces/pausable.js +14 -0
  53. package/dist/node/interfaces/pausable.js.map +1 -0
  54. package/dist/node/interfaces/types.d.ts +2297 -0
  55. package/dist/node/interfaces/types.js +507 -0
  56. package/dist/node/interfaces/types.js.map +1 -0
  57. package/dist/node/interfaces/update.d.ts +53 -0
  58. package/dist/node/interfaces/update.js +58 -0
  59. package/dist/node/interfaces/update.js.map +1 -0
  60. package/dist/node/marketplace/auction.d.ts +775 -0
  61. package/dist/node/marketplace/auction.js +430 -0
  62. package/dist/node/marketplace/auction.js.map +1 -0
  63. package/dist/node/marketplace/bid.d.ts +254 -0
  64. package/dist/node/marketplace/bid.js +260 -0
  65. package/dist/node/marketplace/bid.js.map +1 -0
  66. package/dist/node/marketplace/index.d.ts +5 -0
  67. package/dist/node/marketplace/index.js +6 -0
  68. package/dist/node/marketplace/index.js.map +1 -0
  69. package/dist/node/marketplace/nft-shares.d.ts +1083 -0
  70. package/dist/node/marketplace/nft-shares.js +398 -0
  71. package/dist/node/marketplace/nft-shares.js.map +1 -0
  72. package/dist/node/marketplace/offer.d.ts +192 -0
  73. package/dist/node/marketplace/offer.js +132 -0
  74. package/dist/node/marketplace/offer.js.map +1 -0
  75. package/dist/node/marketplace/types.d.ts +374 -0
  76. package/dist/node/marketplace/types.js +33 -0
  77. package/dist/node/marketplace/types.js.map +1 -0
  78. package/dist/node/metadata/index.d.ts +3 -0
  79. package/dist/node/metadata/index.js +4 -0
  80. package/dist/node/metadata/index.js.map +1 -0
  81. package/dist/node/metadata/metadata.d.ts +337 -0
  82. package/dist/node/metadata/metadata.js +439 -0
  83. package/dist/node/metadata/metadata.js.map +1 -0
  84. package/dist/node/metadata/text.d.ts +44 -0
  85. package/dist/node/metadata/text.js +42 -0
  86. package/dist/node/metadata/text.js.map +1 -0
  87. package/dist/node/metadata/tree.d.ts +75 -0
  88. package/dist/node/metadata/tree.js +85 -0
  89. package/dist/node/metadata/tree.js.map +1 -0
  90. package/dist/node/vk.d.ts +42 -0
  91. package/dist/node/vk.js +45 -0
  92. package/dist/node/vk.js.map +1 -0
  93. package/dist/node/zkprogram-example/game.d.ts +76 -0
  94. package/dist/node/zkprogram-example/game.js +108 -0
  95. package/dist/node/zkprogram-example/game.js.map +1 -0
  96. package/dist/node/zkprogram-example/index.d.ts +2 -0
  97. package/dist/node/zkprogram-example/index.js +3 -0
  98. package/dist/node/zkprogram-example/index.js.map +1 -0
  99. package/dist/node/zkprogram-example/update.d.ts +76 -0
  100. package/dist/node/zkprogram-example/update.js +85 -0
  101. package/dist/node/zkprogram-example/update.js.map +1 -0
  102. package/dist/tsconfig.tsbuildinfo +1 -0
  103. package/dist/tsconfig.web.tsbuildinfo +1 -0
  104. package/dist/web/admin/advanced.d.ts +469 -0
  105. package/dist/web/admin/advanced.js +525 -0
  106. package/dist/web/admin/advanced.js.map +1 -0
  107. package/dist/web/admin/index.d.ts +1 -0
  108. package/dist/web/admin/index.js +2 -0
  109. package/dist/web/admin/index.js.map +1 -0
  110. package/dist/web/contracts/admin.d.ts +140 -0
  111. package/dist/web/contracts/admin.js +336 -0
  112. package/dist/web/contracts/admin.js.map +1 -0
  113. package/dist/web/contracts/collection.d.ts +551 -0
  114. package/dist/web/contracts/collection.js +1049 -0
  115. package/dist/web/contracts/collection.js.map +1 -0
  116. package/dist/web/contracts/index.d.ts +3 -0
  117. package/dist/web/contracts/index.js +4 -0
  118. package/dist/web/contracts/index.js.map +1 -0
  119. package/dist/web/contracts/nft.d.ts +76 -0
  120. package/dist/web/contracts/nft.js +329 -0
  121. package/dist/web/contracts/nft.js.map +1 -0
  122. package/dist/web/contracts.d.ts +709 -0
  123. package/dist/web/contracts.js +61 -0
  124. package/dist/web/contracts.js.map +1 -0
  125. package/dist/web/index.d.ts +8 -0
  126. package/dist/web/index.js +9 -0
  127. package/dist/web/index.js.map +1 -0
  128. package/dist/web/interfaces/admin.d.ts +102 -0
  129. package/dist/web/interfaces/admin.js +2 -0
  130. package/dist/web/interfaces/admin.js.map +1 -0
  131. package/dist/web/interfaces/approval.d.ts +57 -0
  132. package/dist/web/interfaces/approval.js +62 -0
  133. package/dist/web/interfaces/approval.js.map +1 -0
  134. package/dist/web/interfaces/collection.d.ts +57 -0
  135. package/dist/web/interfaces/collection.js +2 -0
  136. package/dist/web/interfaces/collection.js.map +1 -0
  137. package/dist/web/interfaces/encoding.d.ts +24 -0
  138. package/dist/web/interfaces/encoding.js +32 -0
  139. package/dist/web/interfaces/encoding.js.map +1 -0
  140. package/dist/web/interfaces/events.d.ts +833 -0
  141. package/dist/web/interfaces/events.js +106 -0
  142. package/dist/web/interfaces/events.js.map +1 -0
  143. package/dist/web/interfaces/index.d.ts +10 -0
  144. package/dist/web/interfaces/index.js +11 -0
  145. package/dist/web/interfaces/index.js.map +1 -0
  146. package/dist/web/interfaces/ownable.d.ts +94 -0
  147. package/dist/web/interfaces/ownable.js +12 -0
  148. package/dist/web/interfaces/ownable.js.map +1 -0
  149. package/dist/web/interfaces/owner.d.ts +61 -0
  150. package/dist/web/interfaces/owner.js +101 -0
  151. package/dist/web/interfaces/owner.js.map +1 -0
  152. package/dist/web/interfaces/pausable.d.ts +74 -0
  153. package/dist/web/interfaces/pausable.js +14 -0
  154. package/dist/web/interfaces/pausable.js.map +1 -0
  155. package/dist/web/interfaces/types.d.ts +2297 -0
  156. package/dist/web/interfaces/types.js +507 -0
  157. package/dist/web/interfaces/types.js.map +1 -0
  158. package/dist/web/interfaces/update.d.ts +53 -0
  159. package/dist/web/interfaces/update.js +58 -0
  160. package/dist/web/interfaces/update.js.map +1 -0
  161. package/dist/web/marketplace/auction.d.ts +775 -0
  162. package/dist/web/marketplace/auction.js +430 -0
  163. package/dist/web/marketplace/auction.js.map +1 -0
  164. package/dist/web/marketplace/bid.d.ts +254 -0
  165. package/dist/web/marketplace/bid.js +260 -0
  166. package/dist/web/marketplace/bid.js.map +1 -0
  167. package/dist/web/marketplace/index.d.ts +5 -0
  168. package/dist/web/marketplace/index.js +6 -0
  169. package/dist/web/marketplace/index.js.map +1 -0
  170. package/dist/web/marketplace/nft-shares.d.ts +1083 -0
  171. package/dist/web/marketplace/nft-shares.js +398 -0
  172. package/dist/web/marketplace/nft-shares.js.map +1 -0
  173. package/dist/web/marketplace/offer.d.ts +192 -0
  174. package/dist/web/marketplace/offer.js +132 -0
  175. package/dist/web/marketplace/offer.js.map +1 -0
  176. package/dist/web/marketplace/types.d.ts +374 -0
  177. package/dist/web/marketplace/types.js +33 -0
  178. package/dist/web/marketplace/types.js.map +1 -0
  179. package/dist/web/metadata/index.d.ts +3 -0
  180. package/dist/web/metadata/index.js +4 -0
  181. package/dist/web/metadata/index.js.map +1 -0
  182. package/dist/web/metadata/metadata.d.ts +337 -0
  183. package/dist/web/metadata/metadata.js +439 -0
  184. package/dist/web/metadata/metadata.js.map +1 -0
  185. package/dist/web/metadata/text.d.ts +44 -0
  186. package/dist/web/metadata/text.js +42 -0
  187. package/dist/web/metadata/text.js.map +1 -0
  188. package/dist/web/metadata/tree.d.ts +75 -0
  189. package/dist/web/metadata/tree.js +85 -0
  190. package/dist/web/metadata/tree.js.map +1 -0
  191. package/dist/web/vk.d.ts +42 -0
  192. package/dist/web/vk.js +45 -0
  193. package/dist/web/vk.js.map +1 -0
  194. package/dist/web/zkprogram-example/game.d.ts +76 -0
  195. package/dist/web/zkprogram-example/game.js +108 -0
  196. package/dist/web/zkprogram-example/game.js.map +1 -0
  197. package/dist/web/zkprogram-example/index.d.ts +2 -0
  198. package/dist/web/zkprogram-example/index.js +3 -0
  199. package/dist/web/zkprogram-example/index.js.map +1 -0
  200. package/dist/web/zkprogram-example/update.d.ts +76 -0
  201. package/dist/web/zkprogram-example/update.js +85 -0
  202. package/dist/web/zkprogram-example/update.js.map +1 -0
  203. package/package.json +65 -0
  204. package/src/admin/advanced.ts +601 -0
  205. package/src/admin/index.ts +1 -0
  206. package/src/contracts/admin.ts +301 -0
  207. package/src/contracts/collection.ts +1172 -0
  208. package/src/contracts/index.ts +3 -0
  209. package/src/contracts/nft.ts +344 -0
  210. package/src/contracts.ts +107 -0
  211. package/src/index.ts +8 -0
  212. package/src/interfaces/admin.ts +127 -0
  213. package/src/interfaces/approval.ts +99 -0
  214. package/src/interfaces/collection.ts +68 -0
  215. package/src/interfaces/encoding.ts +32 -0
  216. package/src/interfaces/events.ts +115 -0
  217. package/src/interfaces/index.ts +10 -0
  218. package/src/interfaces/ownable.ts +32 -0
  219. package/src/interfaces/owner.ts +143 -0
  220. package/src/interfaces/pausable.ts +41 -0
  221. package/src/interfaces/types.ts +623 -0
  222. package/src/interfaces/update.ts +104 -0
  223. package/src/marketplace/auction.ts +527 -0
  224. package/src/marketplace/bid.ts +294 -0
  225. package/src/marketplace/index.ts +5 -0
  226. package/src/marketplace/nft-shares.ts +388 -0
  227. package/src/marketplace/offer.ts +153 -0
  228. package/src/marketplace/types.ts +33 -0
  229. package/src/metadata/index.ts +3 -0
  230. package/src/metadata/metadata.ts +603 -0
  231. package/src/metadata/text.ts +60 -0
  232. package/src/metadata/tree.ts +128 -0
  233. package/src/vk.ts +64 -0
  234. package/src/zkprogram-example/game.ts +136 -0
  235. package/src/zkprogram-example/index.ts +2 -0
  236. package/src/zkprogram-example/update.ts +98 -0
@@ -0,0 +1,254 @@
1
+ import { AccountUpdate, DeployArgs, PublicKey, State, UInt64, SmartContract, Bool, Field } from "o1js";
2
+ import { Whitelist, Storage } from "@silvana-one/storage";
3
+ import { NFTAddress, SellEvent, DepositEvent, WithdrawEvent, BidEvent } from "./types.js";
4
+ import { NFTCollectionBase, NFTCollectionContractConstructor } from "../interfaces/index.js";
5
+ declare const Bid_base: (new (value: {
6
+ price: UInt64;
7
+ points: UInt64;
8
+ }) => {
9
+ price: UInt64;
10
+ points: UInt64;
11
+ }) & {
12
+ _isStruct: true;
13
+ } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
14
+ price: UInt64;
15
+ points: UInt64;
16
+ }, {
17
+ price: bigint;
18
+ points: bigint;
19
+ }>, "fromFields"> & {
20
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
21
+ price: UInt64;
22
+ points: UInt64;
23
+ };
24
+ } & {
25
+ fromValue: (value: {
26
+ price: bigint | UInt64;
27
+ points: bigint | UInt64;
28
+ }) => {
29
+ price: UInt64;
30
+ points: UInt64;
31
+ };
32
+ toInput: (x: {
33
+ price: UInt64;
34
+ points: UInt64;
35
+ }) => {
36
+ fields?: Field[] | undefined;
37
+ packed?: [Field, number][] | undefined;
38
+ };
39
+ toJSON: (x: {
40
+ price: UInt64;
41
+ points: UInt64;
42
+ }) => {
43
+ price: string;
44
+ points: string;
45
+ };
46
+ fromJSON: (x: {
47
+ price: string;
48
+ points: string;
49
+ }) => {
50
+ price: UInt64;
51
+ points: UInt64;
52
+ };
53
+ empty: () => {
54
+ price: UInt64;
55
+ points: UInt64;
56
+ };
57
+ };
58
+ export declare class Bid extends Bid_base {
59
+ pack(): import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
60
+ static unpack(field: Field): Bid;
61
+ }
62
+ export interface NonFungibleTokenBidContractDeployProps extends Exclude<DeployArgs, undefined> {
63
+ /** The whitelist. */
64
+ whitelist: Field;
65
+ /** The offers. */
66
+ bids: Field;
67
+ /** The storage. */
68
+ storage: Storage;
69
+ }
70
+ export declare function BidFactory(params: {
71
+ collectionContract: () => NFTCollectionContractConstructor;
72
+ }): {
73
+ new (address: PublicKey, tokenId?: Field): {
74
+ buyer: State<PublicKey>;
75
+ whitelist: State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>;
76
+ bids: State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>;
77
+ storage: State<Storage>;
78
+ maxPoints: State<UInt64>;
79
+ consumedPoints: State<UInt64>;
80
+ deploy(args: NonFungibleTokenBidContractDeployProps): Promise<void>;
81
+ events: {
82
+ deposit: typeof DepositEvent;
83
+ withdraw: typeof WithdrawEvent;
84
+ sell: typeof SellEvent;
85
+ updateWhitelist: typeof Whitelist;
86
+ bid: typeof BidEvent;
87
+ };
88
+ initialize(amount: UInt64, maxPoints: UInt64): Promise<void>;
89
+ getCollectionContract(address: PublicKey): NFTCollectionBase;
90
+ deposit(amount: UInt64, maxPoints: UInt64): Promise<void>;
91
+ withdraw(amount: UInt64, maxPoints: UInt64): Promise<void>;
92
+ sell(nftAddress: NFTAddress, price: UInt64): Promise<void>;
93
+ approvedSell(nftAddress: NFTAddress, price: UInt64): Promise<void>;
94
+ _sell(nftAddress: NFTAddress, price: UInt64): Promise<void>;
95
+ bid(bids: Field, whitelist: Field, storage: Storage): Promise<void>;
96
+ "__#3@#private": any;
97
+ address: PublicKey;
98
+ tokenId: Field;
99
+ init(): void;
100
+ requireSignature(): void;
101
+ skipAuthorization(): void;
102
+ readonly self: AccountUpdate;
103
+ newSelf(methodName?: string): AccountUpdate;
104
+ sender: {
105
+ self: SmartContract;
106
+ getUnconstrained(): PublicKey;
107
+ getAndRequireSignature(): PublicKey;
108
+ };
109
+ readonly account: import("node_modules/o1js/dist/node/lib/mina/precondition.js").Account;
110
+ readonly network: import("node_modules/o1js/dist/node/lib/mina/precondition.js").Network;
111
+ readonly currentSlot: import("node_modules/o1js/dist/node/lib/mina/precondition.js").CurrentSlot;
112
+ approve(update: AccountUpdate | import("o1js").AccountUpdateTree | import("o1js").AccountUpdateForest): void;
113
+ send(args: {
114
+ to: PublicKey | AccountUpdate | SmartContract;
115
+ amount: number | bigint | UInt64;
116
+ }): AccountUpdate;
117
+ readonly balance: {
118
+ addInPlace(x: string | number | bigint | UInt64 | import("o1js").UInt32 | import("o1js").Int64): void;
119
+ subInPlace(x: string | number | bigint | UInt64 | import("o1js").UInt32 | import("o1js").Int64): void;
120
+ };
121
+ emitEventIf<K extends "updateWhitelist" | "deposit" | "withdraw" | "sell" | "bid">(condition: Bool, type: K, event: any): void;
122
+ emitEvent<K extends "updateWhitelist" | "deposit" | "withdraw" | "sell" | "bid">(type: K, event: any): void;
123
+ fetchEvents(start?: import("o1js").UInt32, end?: import("o1js").UInt32): Promise<{
124
+ type: string;
125
+ event: {
126
+ data: import("o1js").ProvablePure<any>;
127
+ transactionInfo: {
128
+ transactionHash: string;
129
+ transactionStatus: string;
130
+ transactionMemo: string;
131
+ };
132
+ };
133
+ blockHeight: import("o1js").UInt32;
134
+ blockHash: string;
135
+ parentBlockHash: string;
136
+ globalSlot: import("o1js").UInt32;
137
+ chainStatus: string;
138
+ }[]>;
139
+ };
140
+ _methods?: import("node_modules/o1js/dist/node/lib/proof-system/zkprogram.js").MethodInterface[];
141
+ _methodMetadata?: Record<string, {
142
+ actions: number;
143
+ rows: number;
144
+ digest: string;
145
+ gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
146
+ }>;
147
+ _provers?: import("node_modules/o1js/dist/node/snarky.js").Pickles.Prover[];
148
+ _maxProofsVerified?: 0 | 1 | 2;
149
+ _verificationKey?: {
150
+ data: string;
151
+ hash: Field;
152
+ };
153
+ Proof(): {
154
+ new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
155
+ proof: unknown;
156
+ publicInput: import("o1js").ZkappPublicInput;
157
+ publicOutput: undefined;
158
+ maxProofsVerified: 0 | 2 | 1;
159
+ }): {
160
+ verify(): void;
161
+ verifyIf(condition: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool): void;
162
+ publicInput: import("o1js").ZkappPublicInput;
163
+ publicOutput: undefined;
164
+ proof: unknown;
165
+ maxProofsVerified: 0 | 2 | 1;
166
+ shouldVerify: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool;
167
+ toJSON(): import("o1js").JsonProof;
168
+ publicFields(): {
169
+ input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
170
+ output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
171
+ };
172
+ };
173
+ publicInputType: Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
174
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
175
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
176
+ }, {
177
+ accountUpdate: bigint;
178
+ calls: bigint;
179
+ }>, "fromFields"> & {
180
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
181
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
182
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
183
+ };
184
+ } & {
185
+ toInput: (x: {
186
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
187
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
188
+ }) => {
189
+ fields?: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | undefined;
190
+ packed?: [import("node_modules/o1js/dist/node/lib/provable/field.js").Field, number][] | undefined;
191
+ };
192
+ toJSON: (x: {
193
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
194
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
195
+ }) => {
196
+ accountUpdate: string;
197
+ calls: string;
198
+ };
199
+ fromJSON: (x: {
200
+ accountUpdate: string;
201
+ calls: string;
202
+ }) => {
203
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
204
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
205
+ };
206
+ empty: () => {
207
+ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
208
+ calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
209
+ };
210
+ };
211
+ publicOutputType: import("node_modules/o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended<undefined, undefined, null>;
212
+ tag: () => typeof SmartContract;
213
+ fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
214
+ dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>;
215
+ readonly provable: {
216
+ toFields: (value: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
217
+ toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
218
+ fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
219
+ sizeInFields(): number;
220
+ check: (value: import("o1js").Proof<any, any>) => void;
221
+ toValue: (x: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
222
+ fromValue: (x: import("o1js").Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
223
+ toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
224
+ };
225
+ publicFields(value: import("o1js").ProofBase<any, any>): {
226
+ input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
227
+ output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
228
+ };
229
+ _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown;
230
+ _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string;
231
+ };
232
+ compile({ cache, forceRecompile, }?: {
233
+ cache?: import("o1js").Cache | undefined;
234
+ forceRecompile?: boolean | undefined;
235
+ }): Promise<{
236
+ verificationKey: {
237
+ data: string;
238
+ hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
239
+ };
240
+ provers: import("node_modules/o1js/dist/node/snarky.js").Pickles.Prover[];
241
+ verify: (statement: import("node_modules/o1js/dist/node/snarky.js").Pickles.Statement<import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst>, proof: unknown) => Promise<boolean>;
242
+ }>;
243
+ digest(): Promise<string>;
244
+ runOutsideCircuit(run: () => void): void;
245
+ analyzeMethods({ printSummary }?: {
246
+ printSummary?: boolean | undefined;
247
+ }): Promise<Record<string, {
248
+ actions: number;
249
+ rows: number;
250
+ digest: string;
251
+ gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
252
+ }>>;
253
+ };
254
+ export {};
@@ -0,0 +1,260 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AccountUpdate, method, Permissions, PublicKey, State, state, UInt64, SmartContract, Bool, Field, Struct, Poseidon, Provable, } from "o1js";
3
+ import { Whitelist, OffChainList, Storage } from "@silvana-one/storage";
4
+ import { NFTAddress, SellEvent, DepositEvent, WithdrawEvent, BidEvent, } from "./types.js";
5
+ import { TransferParams, UInt64Option, NFTTransactionContext, } from "../interfaces/index.js";
6
+ export class Bid extends Struct({
7
+ price: UInt64,
8
+ points: UInt64,
9
+ }) {
10
+ pack() {
11
+ return Field.fromBits([
12
+ ...this.price.value.toBits(64),
13
+ ...this.points.value.toBits(64),
14
+ ]);
15
+ }
16
+ static unpack(field) {
17
+ const bits = field.toBits(64 + 64);
18
+ const price = UInt64.Unsafe.fromField(Field.fromBits(bits.slice(0, 64)));
19
+ const points = UInt64.Unsafe.fromField(Field.fromBits(bits.slice(64, 64 + 64)));
20
+ return new Bid({
21
+ price,
22
+ points,
23
+ });
24
+ }
25
+ }
26
+ export function BidFactory(params) {
27
+ const { collectionContract } = params;
28
+ class NonFungibleTokenBidContract extends SmartContract {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.buyer = State();
32
+ this.whitelist = State();
33
+ this.bids = State();
34
+ this.storage = State();
35
+ this.maxPoints = State();
36
+ // We do not have concurrency here, but given that it is a single-user contract,
37
+ // we can use state to track the points that have been consumed
38
+ // In case of concurrency, we can use the tokens to track the points
39
+ this.consumedPoints = State();
40
+ this.events = {
41
+ deposit: DepositEvent,
42
+ withdraw: WithdrawEvent,
43
+ sell: SellEvent,
44
+ updateWhitelist: Whitelist,
45
+ bid: BidEvent,
46
+ };
47
+ }
48
+ async deploy(args) {
49
+ await super.deploy(args);
50
+ this.whitelist.set(args.whitelist);
51
+ this.bids.set(args.bids);
52
+ this.storage.set(args.storage);
53
+ this.account.permissions.set({
54
+ ...Permissions.default(),
55
+ send: Permissions.proof(),
56
+ setVerificationKey: Permissions.VerificationKey.impossibleDuringCurrentVersion(),
57
+ setPermissions: Permissions.impossible(),
58
+ });
59
+ }
60
+ async initialize(amount, maxPoints) {
61
+ this.account.provedState.requireEquals(Bool(false));
62
+ const buyer = this.sender.getUnconstrained();
63
+ const buyerUpdate = AccountUpdate.createSigned(buyer);
64
+ // We use low-level subInPlace and addInPlace to decrease the number of AccountUpdates
65
+ buyerUpdate.balance.subInPlace(amount.add(UInt64.from(1_000_000_000)));
66
+ this.self.balance.addInPlace(amount);
67
+ buyerUpdate.body.useFullCommitment = Bool(true);
68
+ this.buyer.set(buyer);
69
+ this.maxPoints.set(maxPoints);
70
+ this.emitEvent("deposit", new DepositEvent({
71
+ buyer,
72
+ amount,
73
+ maxPoints,
74
+ }));
75
+ }
76
+ getCollectionContract(address) {
77
+ const CollectionContract = collectionContract();
78
+ return new CollectionContract(address);
79
+ }
80
+ async deposit(amount, maxPoints) {
81
+ amount.equals(UInt64.from(0)).assertFalse();
82
+ const sender = this.sender.getUnconstrained();
83
+ const buyer = this.buyer.getAndRequireEquals();
84
+ sender.assertEquals(buyer);
85
+ const buyerUpdate = AccountUpdate.createSigned(buyer);
86
+ buyerUpdate.send({ to: this.address, amount });
87
+ buyerUpdate.body.useFullCommitment = Bool(true);
88
+ this.maxPoints.set(maxPoints);
89
+ this.emitEvent("deposit", new DepositEvent({
90
+ buyer,
91
+ amount,
92
+ maxPoints,
93
+ }));
94
+ }
95
+ async withdraw(amount, maxPoints) {
96
+ amount.equals(UInt64.from(0)).assertFalse();
97
+ this.account.balance.requireBetween(amount, UInt64.MAXINT());
98
+ const buyer = this.buyer.getAndRequireEquals();
99
+ const sender = this.sender.getUnconstrained();
100
+ const senderUpdate = AccountUpdate.createSigned(sender);
101
+ senderUpdate.body.useFullCommitment = Bool(true);
102
+ sender.assertEquals(buyer);
103
+ let bidUpdate = this.send({ to: senderUpdate, amount });
104
+ bidUpdate.body.useFullCommitment = Bool(true);
105
+ this.maxPoints.set(maxPoints);
106
+ this.emitEvent("withdraw", new WithdrawEvent({
107
+ buyer,
108
+ amount,
109
+ maxPoints,
110
+ }));
111
+ }
112
+ async sell(nftAddress, price) {
113
+ await this._sell(nftAddress, price);
114
+ const buyer = this.buyer.getAndRequireEquals();
115
+ const Collection = collectionContract();
116
+ const collection = new Collection(nftAddress.collection);
117
+ await collection.transferBySignature(new TransferParams({
118
+ address: nftAddress.nft,
119
+ from: PublicKey.empty(),
120
+ to: buyer,
121
+ price: UInt64Option.fromValue(price),
122
+ context: new NFTTransactionContext({
123
+ custom: [Field(0), Field(0), Field(0)],
124
+ }),
125
+ }));
126
+ }
127
+ async approvedSell(nftAddress, price) {
128
+ await this._sell(nftAddress, price);
129
+ const buyer = this.buyer.getAndRequireEquals();
130
+ const Collection = collectionContract();
131
+ const collection = new Collection(nftAddress.collection);
132
+ await collection.approvedTransferBySignature(new TransferParams({
133
+ address: nftAddress.nft,
134
+ from: PublicKey.empty(),
135
+ to: buyer,
136
+ price: UInt64Option.fromValue(price),
137
+ context: new NFTTransactionContext({
138
+ custom: [Field(0), Field(0), Field(0)],
139
+ }),
140
+ }));
141
+ }
142
+ async _sell(nftAddress, price) {
143
+ price.equals(UInt64.from(0)).assertFalse();
144
+ const key = Poseidon.hashPacked(NFTAddress, nftAddress);
145
+ const storage = this.storage.getAndRequireEquals();
146
+ const bids = new OffChainList({
147
+ root: this.bids.getAndRequireEquals(),
148
+ storage,
149
+ });
150
+ const bid = Bid.unpack((await bids.getValue(key, "bids")).assertSome("bid not found"));
151
+ // We do not require the price to be equal to the bid price,
152
+ // because the price can be lower than the bid price
153
+ // and the seller can still be willing to sell the NFT
154
+ // as the deposit remaining is less than bid price
155
+ price.assertLessThanOrEqual(bid.price, "price is too high");
156
+ this.account.balance.requireBetween(price, UInt64.MAXINT());
157
+ const consumedPoints = this.consumedPoints.getAndRequireEquals();
158
+ const maxPoints = this.maxPoints.getAndRequireEquals();
159
+ const newConsumedPoints = consumedPoints.add(bid.points);
160
+ newConsumedPoints.assertLessThanOrEqual(maxPoints, "consumed points exceed max points");
161
+ this.consumedPoints.set(newConsumedPoints);
162
+ const seller = this.sender.getUnconstrained();
163
+ const sellerUpdate = AccountUpdate.createSigned(seller);
164
+ sellerUpdate.balance.addInPlace(price);
165
+ this.self.balance.subInPlace(price);
166
+ sellerUpdate.body.useFullCommitment = Bool(true);
167
+ const whitelist = new Whitelist({
168
+ list: new OffChainList({
169
+ root: this.whitelist.getAndRequireEquals(),
170
+ storage,
171
+ }),
172
+ });
173
+ const whitelistedAmount = await whitelist.getWhitelistedAmount(seller, "whitelist");
174
+ const whitelistDisabled = whitelist.isNone();
175
+ whitelistedAmount.isSome
176
+ .or(whitelistDisabled)
177
+ .assertTrue("Cannot buy from non-whitelisted address");
178
+ const maxPrice = Provable.if(whitelistDisabled, UInt64.MAXINT(), whitelistedAmount.value);
179
+ price.assertLessThanOrEqual(maxPrice, "price is higher than whitelisted price");
180
+ this.emitEvent("sell", new SellEvent({
181
+ collection: nftAddress.collection,
182
+ nft: nftAddress.nft,
183
+ price,
184
+ }));
185
+ }
186
+ async bid(bids, whitelist, storage) {
187
+ const buyer = this.buyer.getAndRequireEquals();
188
+ const sender = this.sender.getUnconstrained();
189
+ const senderUpdate = AccountUpdate.createSigned(sender);
190
+ senderUpdate.body.useFullCommitment = Bool(true);
191
+ sender.assertEquals(buyer);
192
+ this.bids.set(bids);
193
+ this.whitelist.set(whitelist);
194
+ this.storage.set(storage);
195
+ this.emitEvent("bid", new BidEvent({ bids, whitelist, storage }));
196
+ }
197
+ }
198
+ __decorate([
199
+ state(PublicKey),
200
+ __metadata("design:type", Object)
201
+ ], NonFungibleTokenBidContract.prototype, "buyer", void 0);
202
+ __decorate([
203
+ state(Field),
204
+ __metadata("design:type", Object)
205
+ ], NonFungibleTokenBidContract.prototype, "whitelist", void 0);
206
+ __decorate([
207
+ state(Field),
208
+ __metadata("design:type", Object)
209
+ ], NonFungibleTokenBidContract.prototype, "bids", void 0);
210
+ __decorate([
211
+ state(Storage),
212
+ __metadata("design:type", Object)
213
+ ], NonFungibleTokenBidContract.prototype, "storage", void 0);
214
+ __decorate([
215
+ state(UInt64),
216
+ __metadata("design:type", Object)
217
+ ], NonFungibleTokenBidContract.prototype, "maxPoints", void 0);
218
+ __decorate([
219
+ state(UInt64),
220
+ __metadata("design:type", Object)
221
+ ], NonFungibleTokenBidContract.prototype, "consumedPoints", void 0);
222
+ __decorate([
223
+ method,
224
+ __metadata("design:type", Function),
225
+ __metadata("design:paramtypes", [UInt64, UInt64]),
226
+ __metadata("design:returntype", Promise)
227
+ ], NonFungibleTokenBidContract.prototype, "initialize", null);
228
+ __decorate([
229
+ method,
230
+ __metadata("design:type", Function),
231
+ __metadata("design:paramtypes", [UInt64, UInt64]),
232
+ __metadata("design:returntype", Promise)
233
+ ], NonFungibleTokenBidContract.prototype, "deposit", null);
234
+ __decorate([
235
+ method,
236
+ __metadata("design:type", Function),
237
+ __metadata("design:paramtypes", [UInt64, UInt64]),
238
+ __metadata("design:returntype", Promise)
239
+ ], NonFungibleTokenBidContract.prototype, "withdraw", null);
240
+ __decorate([
241
+ method,
242
+ __metadata("design:type", Function),
243
+ __metadata("design:paramtypes", [NFTAddress, UInt64]),
244
+ __metadata("design:returntype", Promise)
245
+ ], NonFungibleTokenBidContract.prototype, "sell", null);
246
+ __decorate([
247
+ method,
248
+ __metadata("design:type", Function),
249
+ __metadata("design:paramtypes", [NFTAddress, UInt64]),
250
+ __metadata("design:returntype", Promise)
251
+ ], NonFungibleTokenBidContract.prototype, "approvedSell", null);
252
+ __decorate([
253
+ method,
254
+ __metadata("design:type", Function),
255
+ __metadata("design:paramtypes", [Field, Field, Storage]),
256
+ __metadata("design:returntype", Promise)
257
+ ], NonFungibleTokenBidContract.prototype, "bid", null);
258
+ return NonFungibleTokenBidContract;
259
+ }
260
+ //# sourceMappingURL=bid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bid.js","sourceRoot":"","sources":["../../../src/marketplace/bid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./bid.js";
2
+ export * from "./offer.js";
3
+ export * from "./auction.js";
4
+ export * from "./types.js";
5
+ export * from "./nft-shares.js";
@@ -0,0 +1,6 @@
1
+ export * from "./bid.js";
2
+ export * from "./offer.js";
3
+ export * from "./auction.js";
4
+ export * from "./types.js";
5
+ export * from "./nft-shares.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}