@ciclonecash/sdk 0.1.0 → 0.1.1

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.
package/README.md CHANGED
@@ -1,83 +1,55 @@
1
- # ciclone-cash/sdk
1
+ # ciclone.cash SDK
2
2
 
3
3
  SDK to build **Groth16 proofs** for the Ciclone `deposit` / `withdraw` / `transfer`
4
- circuits, plus the curve/commitment/encrypted-note helpers needed to construct
5
- inputs and manage wallet state off-chain.
4
+ circuits, plus the curve, commitment, and encrypted-note helpers for managing
5
+ wallet state off-chain.
6
6
 
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- npm install ciclone-cash/sdk-v1
11
- # peer runtime dep used for proving:
12
- npm install snarkjs
10
+ npm install @ciclonecash/sdk snarkjs
13
11
  ```
14
12
 
15
13
  ## Usage
16
14
 
17
- The SDK needs each circuit's compiled artifacts: the witness-calculator `*.wasm`
18
- and the proving key `*_final.zkey` (produced by `npm run build` / `npm run setup`
19
- in the circuits repo).
15
+ The compiled circuit artifacts (`*.wasm` witness calculators and `*_final.zkey`
16
+ proving keys) ship inside the package, so `CicloneSDK.bundled()` works out of the
17
+ box on Node — no extra files to fetch.
20
18
 
21
19
  ```ts
22
- import { CicloneSDK, deriveViewKey, randomScalar } from "ciclone-cash/sdk-v1";
20
+ import { CicloneSDK, deriveViewKey } from "@ciclonecash/sdk";
23
21
 
24
- // Point at a build directory laid out as <dir>/<c>/<c>_js/<c>.wasm + <dir>/<c>/<c>_final.zkey
25
- const sdk = CicloneSDK.fromBuildDir("./build");
22
+ // Artifacts bundled in the package (Node):
23
+ const sdk = CicloneSDK.bundled();
26
24
 
27
- // …or pass artifacts explicitly (paths or Uint8Array buffers):
28
- // const sdk = new CicloneSDK({
29
- // deposit: { wasm, zkey },
30
- // withdraw: { wasm, zkey },
31
- // transfer: { wasm, zkey },
32
- // });
25
+ // …or point at your own build dir: <dir>/<c>/<c>_js/<c>.wasm + <dir>/<c>/<c>_final.zkey
26
+ // const sdk = CicloneSDK.fromBuildDir("./build");
33
27
 
34
- // DEPOSIT — commit a public amount
35
28
  const dep = await sdk.deposit({ amount: 1000n, accountId: 7n, seqNo: 1n });
36
- // { proof, publicSignals, commitment: [x,y], blinding } (persist `blinding`)
29
+ const w = await sdk.withdraw({ amount: 400n, balance: 1000n, oldBlind, accountId: 7n, seqNo: 2n });
37
30
 
38
- // WITHDRAW prove balance ≥ amount
39
- const w = await sdk.withdraw({
40
- amount: 400n, balance: 1000n, oldBlind, accountId: 7n, seqNo: 2n,
41
- });
42
- // → { proof, publicSignals, newCommitment, remainder, newBlind }
43
-
44
- // TRANSFER — hidden amount, encrypted to the receiver's VIEWING key
45
- const recv = deriveViewKey(receiverSpendSecret); // recipient side
31
+ const recv = deriveViewKey(receiverSpendSecret);
46
32
  const t = await sdk.transfer({
47
33
  amount: 300n, senderBalance: 1000n, senderOldBlind,
48
34
  receiverViewPk: recv.pkView, accountId: 7n, seqNo: 3n,
49
35
  });
50
- // → { proof, publicSignals, newSenderCommitment, amountCommitment, note,
51
- // remainder, senderNewBlind, amountBlind, ephScalar }
52
36
  ```
53
37
 
54
- `proof` + `publicSignals` are the snarkjs Groth16 outputs (feed them to the TON
55
- verifier). Every result also returns the **secrets you must persist** (blindings,
56
- note) to keep your local opening of the commitment spendable.
38
+ Each result returns the snarkjs `proof` + `publicSignals` (feed them to the TON
39
+ verifier) **and the secrets you must persist** (blindings, note) to keep your
40
+ commitment spendable.
57
41
 
58
- ## Receiving / auditing
42
+ Receiving side, with `sk_view`:
59
43
 
60
44
  ```ts
61
- import { viewNote } from "ciclone-cash/sdk-v1";
62
-
63
- // recipient (or a granted auditor) holding sk_view:
45
+ import { viewNote } from "@ciclonecash/sdk";
64
46
  const seen = viewNote(recv.skView, note, amountCommitment[0], amountCommitment[1]);
65
- // → { amount, amountBlind, valid } (valid: the note opens the on-chain amount_commit)
47
+ // → { amount, amountBlind, valid }
66
48
  ```
67
49
 
68
- ## What's exported
69
-
70
- - **Prover:** `CicloneSDK` (`deposit`, `withdraw`, `transfer`, `fromBuildDir`).
71
- - **Keys / notes:** `deriveViewKey`, `derivePub`, `encryptNote`, `decryptNote`, `viewNote`.
72
- - **Curve / commitments:** `commit`, `add`, `mul`, `mod`, `randomScalar`, `Point`, `Gx/Gy/Hx/Hy`, `r`, `d`, `L`.
73
- - **Hash:** `mimc5perm`. **Constants:** `CONSTANTS`.
74
-
75
- ## Notes
50
+ ## Exports
76
51
 
77
- - **Defaults:** `blinding`, `newBlind`, `senderNewBlind`, `ephScalar` default to fresh
78
- randomness; `amountBlind` defaults to `oldBlind newBlind (mod L)` (the homomorphic
79
- relation the contract checks). The **ephemeral scalar must be fresh per transfer**
80
- reuse leaks amounts.
81
- - **`CONSTANTS` must match the deployed circuits.** They're embedded from the trusted
82
- setup; regenerate the SDK constants if the ceremony/curve params change.
83
- - Proving is CPU-heavy (transfer ≈ 30k constraints); run it off the UI thread / in a worker.
52
+ - **Prover:** `CicloneSDK` (`deposit`, `withdraw`, `transfer`, `bundled`, `fromBuildDir`)
53
+ - **Keys / notes:** `deriveViewKey`, `derivePub`, `encryptNote`, `decryptNote`, `viewNote`
54
+ - **Curve / commitments:** `commit`, `add`, `mul`, `mod`, `randomScalar`, `Point`, `Gx/Gy/Hx/Hy`, `r`, `d`, `L`
55
+ - **Hash:** `mimc5perm` · **Constants:** `CONSTANTS`
@@ -0,0 +1,22 @@
1
+ # Bundled circuit artifacts
2
+
3
+ `CicloneSDK.bundled()` loads the proving artifacts from this directory. Place the
4
+ compiled outputs from the circuits repo here, one folder per circuit:
5
+
6
+ ```
7
+ artifacts/
8
+ deposit/ deposit.wasm deposit_final.zkey
9
+ withdraw/ withdraw.wasm withdraw_final.zkey
10
+ transfer/ transfer.wasm transfer_final.zkey
11
+ ```
12
+
13
+ These files are shipped in the npm package (see the `files` field in
14
+ `package.json`). Copy them from your circuits build, e.g.:
15
+
16
+ ```bash
17
+ for c in deposit withdraw transfer; do
18
+ mkdir -p "artifacts/$c"
19
+ cp "build/$c/${c}_js/$c.wasm" "artifacts/$c/$c.wasm"
20
+ cp "build/$c/${c}_final.zkey" "artifacts/$c/${c}_final.zkey"
21
+ done
22
+ ```
Binary file
Binary file
Binary file
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- import*as c from'@ton/core';import{ContractProvider,Sender,SendMode}from'@ton/core';declare const CONSTANTS:{readonly FIELD_ORDER:"52435875175126190479447740508185965837690552500527637822603658699938581184513";readonly JUBJUB_A:"52435875175126190479447740508185965837690552500527637822603658699938581184512";readonly JUBJUB_D:"19257038036680949359750312669786877991949435402254120286184196891950884077233";readonly JUBJUB_L:"6554484396890773809930967563523245729705921265872317281365359162392183254199";readonly JUBJUB_L_BITS:252;readonly GEN_Gx:"9439892453063030735323187312294193215315721624155265256041446064139063758940";readonly GEN_Gy:"33311521361620349823095975547796540660038567460292096943848549448618019639384";readonly GEN_Hx:"35892885103900252256502772632661230248615355824950858846864365092352335789911";readonly GEN_Hy:"20132911724793458364359774542513101355861258122048155387360391004020604936777";readonly MIMC_ROUNDS:110;readonly MIMC_C:readonly["0","15103003296285311994991196829843315048980816585203444166327140765904234277201","2855631646552958279280991863814817954891779073578526071864725683544619127111","49489489075176512800957043613012367845070793325498813954549418021382007360871","21695716502627885718936520179725298504379959493657917308721803328600734180084","18717093422378434477321030634685440693306407008976223947614833421561777370427","22459991854624568966819787279675260364992211753120823911188569238770219939980","39164374081735537272706243400380975468256665533029373415368294748656328007254","12289391154696391659986548759807111501071814715153972870862273756693400414590","21510296661205804269562709901785592831113025280057624218287347030221799730024","50893149158188039258954454914318955816677712214262455214075746444556434838445","40699247447444440027914818222867956844600434836477587518820296127338106753976","11583067579552384575172450057027685404430791813881050320075066566538403398154","2057558726145770834583134981301969911425061301627366194194791625203977494782","7134826793167471890141523578110323408233244998295210802536550134618180550936","6078497090535693158508851888200819737837060025607475272078978442802327777665","46629356917498168291829499465913517568392034518560507978220293544002048865230","37339278381857298929422023240804987004990720482473234504723505757708018867854","20461447768576640462902022034485328903427712962755857850263355830386368874019","9871504150256809292713749732352828477981187854996621958635879963877381645114","28055066328867453574974732375229334478343783501591253352469230822602091552804","966550438045935925663750495126774076152070700345227309734025057889078862118","30108629800022052202694021196377859929460725580798740253782443039198257351053","19529959410058237048730710466480003844884698707796771414193666215878736942278","49364673196825677250277202883987952462860277401977544221767930421498000704759","45611853135051404975182322318899269323882353001600337585430739185836875873699","21695938211759500029645648204433888363878338005658594110030745916219625352743","20784523902461333737760444089657468370716815976778322846390668153969120148265","47443461786173446066495163318608193980798044507383632065917221739767056847337","1811673096931711424919840007883305445474393947486927445835717108768262631760","20910367868035624656200319853664843201132604748514626878881846376369931253601","14518094248143522220129687216759189085885085988191815659475100636328075227430","35772133101832743972749438944910980802003803497276262365436978347821197246242","29144714823364790404370831939588856432419271105531171748828805322243765615940","38120255522917326268194672002454012179246074993407161133381466571047207031184","8920736496368386008293614446132181963785331702097125369515048492072690837650","4998686559923175998463010259350328243565464544732604302011900369105832798840","38646995170074744329684557576394548546403693586350630652528996743357441960661","21552248206093522811668558529771725887378013011261800801529832048264862141279","1736495064090167513146863052895191247546260473031257661816373122577239045075","21549313751781360730111590162402479116744221009735951538979498882739852526987","35192581118433497596946937272238257524062240456855744289068170205698831237264","42700211058061387359962528922639021108345312764901104244497664488612657454893","1237996939329167946521789095693327484833125021293137515793521135166604980034","33888995756958921997502233174914549708725280173031309122933477079378661568411","20665301924148669722101144869512250021122751491897382833425810961966525906756","8480660062650336997603030445935845231761124576157879436644039442927760916335","51445117922348373955960635594253753938952226848767922228713933889849361020270","35152271871220746083809060077007956182705153578422435159358814119530345198586","43076262533466253945834405191003651476975547273130924394597818073234635332135","51750613985668540898245261109932212780422124976008465667979846604142921316014","18449344230518992460868741097873874060471761038701168523820004865052188868818","34275545371587817924263108274910812738337259625930864470898125928332781261305","45506148857456226004250288532236082755299614969251631597619162716586957523000","10503687391642287964720230326997198249490467652775610353740924828559759207469","2072248748886572633465351433443511038698665657035001550921183301139451261497","7179997902220845648485640783393895696737311255579881944801371520959925429372","3515536418533380189351686234250154199849788185920597767247227967858298589048","46171734237001595080439007100152390921605507458802700995342490849846812152618","28703892301204954204735945084069004860653441443656947166842360600554829266764","42147024806380502465610355274058690830447129747150082641990093593480554434127","40969066563396384933163286365456787881003692917761396150421275783965451827185","2744184139986277399555633102014591849271705991245877211301381531668124314776","6809105985639821027464769167089559517692994766973538969832039179623118788764","42526916332339197136992204966101342323778902557693814581808201368329643107881","47367898477555649513344888015703258784704824112116267851465977817926917985508","52149217493698967124732030411965849850126131727727481355724563768072342363979","10282046293669536848128047949045457449159152560562078595626918314423212111206","38104282831626587375305070572230594581806040745573609484654403622286215425329","2132381857125014536575466985206664278130186791405077806185490245642750995607","9715756165256441413576003899214584764515826488796161806759850776281040672749","17469505807959020307566492191232309021466645546502046470681853600170213294451","51578910025890004601529967515127074541305563815419626190094013782382952516099","25376806578384700898934736167819867041133310721731132775231781759148469264235","26816608123840087721893712112335501165997460414064027285602433391071458647766","49799935161212651494105304745421258811379717093934768761004538974548304005964","27066098403968724257009469844946989728234265822542014037139909567447752575297","33630373266856175932515565774900309672340389315920771616580933630045454565293","622561109667259256229501547269068094793001686117816948029034545504150136609","49535581664372050311792989648063707098625314450433227424869506982167792310528","44624734382114259220747114506697619844726346482795888641575010921927839274055","49207313909359724933543648441749939048147039595180602955364854800415157800816","14124552281615012425057601405149339398028033237800277601031191666523400254891","11631878793419444670981925248447762731084863721698828872225502194285745163222","17006249311626259080510517712251897778396895251931479339407489243517593666855","47836849519511439764105980409378164603184853801256920812046059845514364657907","36580304968616308290658381216179885951353751818634240577619257344996861758955","27560245966222005779654222440510146514977351787199335898772264609616232737662","11237673836174136311999165320815092787813619858983672486984069711908219969786","45517624383779775342484214680588875322585867528512416326118323181527316201846","2591546198780320137912321646652470812622040974497108755569795921642637941506","47629122369327308238145608886516616246561408388961245378679951305591439162500","42232102896456887780896149238649354840416167687514636500293107566970554693617","17432279959211252257512837586735471807035784040109684142769509430817434372637","11603725323370456475476575450202487872959388003978314104278009068201124695803","39120404993454495759668681908172856380067537309932392744884241297639679309079","45463903982878444583684624947239501680582530190776445309590037812800906573019","30440678292548392883126133148846576744552906926837046696680177029789651340907","30253955304657561353204813941967483238886294842150600978897530209199473810824","6850304667631937366897932842990279755794575548210676981054011011877306353280","28861515121661092508466187938889913296091951806901947680919100570655962562040","7614622124426428478095247553232337218314768230302383829670201078933047037858","13178383305004371315847473750618929917379891360343665979087864348870926953073","51294155054276581852444719080505788611887062809942409945741835972861838436718","47945473905691864101353255404071767438110838202935093980651540814109520489291","14198375548107963048985881156136226728256423264586177722936137880114417516151","26585443846251610956247171469071754191747910659268686188185916288135421458120","24825676508294663747431688932361545585862145174250510068648420970113666514283","46335422699488226035249305414978584175742053372246294612182875733270932034996","38994544838690504598167256072038162414238197511530093899914653771167602235352"];};type Point$2=[bigint,bigint];declare const r:bigint;declare const d:bigint;declare const L:bigint;declare const Gx:bigint;declare const Gy:bigint;declare const Hx:bigint;declare const Hy:bigint;declare const mod:(a:bigint,m?:bigint)=>bigint;declare function modpow(base:bigint,exp:bigint,m?:bigint):bigint;declare const modinv:(a:bigint,m?:bigint)=>bigint;declare function add(x1:bigint,y1:bigint,x2:bigint,y2:bigint):Point$2;declare function mul(x:bigint,y:bigint,s:bigint):Point$2;declare function commit(value:bigint,blinding:bigint):Point$2;declare function derivePub(sk:bigint):Point$2;declare function randomScalar(maxBits?:number):bigint;declare function mimc5perm(input:bigint,key:bigint):bigint;interface Note{Rx:bigint;Ry:bigint;enc_amount:bigint;enc_blind:bigint;eph_scalar:bigint;shared_x:bigint;}declare function deriveViewKey(spendSk:bigint):{skView:bigint;pkView:Point$2;};declare function encryptNote(amount:bigint,amountBlind:bigint,receiverViewPkX:bigint,receiverViewPkY:bigint,ephScalar:bigint):Note;declare function decryptNote(skView:bigint,Rx:bigint,Ry:bigint,encAmount:bigint,encBlind:bigint):{amount:bigint;amountBlind:bigint;};declare function viewNote(skView:bigint,note:{Rx:bigint;Ry:bigint;enc_amount:bigint;enc_blind:bigint;},amountCommitX:bigint,amountCommitY:bigint):{amount:bigint;amountBlind:bigint;valid:boolean;};interface CircuitArtifacts{wasm:string|Uint8Array;zkey:string|Uint8Array;}interface CicloneConfig{deposit:CircuitArtifacts;withdraw:CircuitArtifacts;transfer:CircuitArtifacts;}interface Proof$1{proof:unknown;publicSignals:string[];}interface DepositArgs{amount:bigint;accountId:bigint;seqNo:bigint;blinding?:bigint;}interface WithdrawArgs{amount:bigint;balance:bigint;oldBlind:bigint;accountId:bigint;seqNo:bigint;newBlind?:bigint;}interface TransferArgs{amount:bigint;senderBalance:bigint;senderOldBlind:bigint;receiverViewPk:Point$2;accountId:bigint;seqNo:bigint;senderNewBlind?:bigint;amountBlind?:bigint;ephScalar?:bigint;}interface DepositResult extends Proof$1{commitment:Point$2;blinding:bigint;}interface WithdrawResult extends Proof$1{newCommitment:Point$2;remainder:bigint;newBlind:bigint;}interface TransferResult extends Proof$1{newSenderCommitment:Point$2;amountCommitment:Point$2;note:Note;remainder:bigint;senderNewBlind:bigint;amountBlind:bigint;ephScalar:bigint;}declare class CicloneSDK{private readonly cfg;constructor(cfg:CicloneConfig);static fromBuildDir(dir:string):CicloneSDK;private prove;deposit(args:DepositArgs):Promise<DepositResult>;withdraw(args:WithdrawArgs):Promise<WithdrawResult>;transfer(args:TransferArgs):Promise<TransferResult>;}interface WalletKeys{spendSk:bigint;spendPk:Point$2;viewSk:bigint;viewPk:Point$2;}declare function generateWalletKeys():WalletKeys;declare function walletKeysFromSpend(spendSk:bigint):WalletKeys;declare function viewKeyFromSpend(spendSk:bigint):{viewSk:bigint;viewPk:Point$2;};type SealedNote=Pick<Note,"Rx"|"Ry"|"enc_amount"|"enc_blind">;interface SealNoteArgs{amount:bigint;amountBlind:bigint;receiverViewPk:Point$2;ephScalar?:bigint;}declare function sealNote(args:SealNoteArgs):Note;declare function openNote(viewSk:bigint,note:SealedNote):{amount:bigint;amountBlind:bigint;};type CellRef$1<T>={ref:T;};type coins$2=bigint;type uint32$2=bigint;type uint64$2=bigint;type uint256$1=bigint;interface WalletRuntimeStorage{readonly $:'WalletRuntimeStorage';locked:boolean;minter:c.Address;owner:c.Address;seqNo:uint32$2;publicViewKey:Point$1;commitment:Point$1;}declare const WalletRuntimeStorage:{create(args:{locked:boolean;minter:c.Address;owner:c.Address;seqNo:uint32$2;publicViewKey:Point$1;commitment:Point$1;}):WalletRuntimeStorage;fromSlice(s:c.Slice):WalletRuntimeStorage;store(self:WalletRuntimeStorage,b:c.Builder):void;toCell(self:WalletRuntimeStorage):c.Cell;};interface TransferAdditionalData{readonly $:'TransferAdditionalData';ephemeral:Point$1;encAmount:uint256$1;encBlind:CellRef$1<uint256$1>;}declare const TransferAdditionalData:{create(args:{ephemeral:Point$1;encAmount:uint256$1;encBlind:CellRef$1<uint256$1>;}):TransferAdditionalData;fromSlice(s:c.Slice):TransferAdditionalData;store(self:TransferAdditionalData,b:c.Builder):void;toCell(self:TransferAdditionalData):c.Cell;};interface InternalTransferAdditionalData{readonly $:'InternalTransferAdditionalData';ephemeral:Point$1;encBlind:uint256$1;}declare const InternalTransferAdditionalData:{create(args:{ephemeral:Point$1;encBlind:uint256$1;}):InternalTransferAdditionalData;fromSlice(s:c.Slice):InternalTransferAdditionalData;store(self:InternalTransferAdditionalData,b:c.Builder):void;toCell(self:InternalTransferAdditionalData):c.Cell;};interface Point$1{readonly $:'Point';x:uint256$1;y:uint256$1;}declare const Point$1:{create(args:{x:uint256$1;y:uint256$1;}):Point$1;fromSlice(s:c.Slice):Point$1;store(self:Point$1,b:c.Builder):void;toCell(self:Point$1):c.Cell;};interface Proof{readonly $:'Proof';piA:c.Cell;piB:c.Cell;piC:c.Cell;}declare const Proof:{create(args:{piA:c.Cell;piB:c.Cell;piC:c.Cell;}):Proof;fromSlice(s:c.Slice):Proof;store(self:Proof,b:c.Builder):void;toCell(self:Proof):c.Cell;};interface ExtraSendOptions$2{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions$2{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Wallet implements c.Contract{static CodeCell:c.Cell;static Errors:{'DepositErrors.InvalidInputs':number;'TransferErrors.InvalidInputs':number;'WithdrawErrors.InvalidInputs':number;'TransferErrors.IndexOutOfRange':number;'Errors.InvalidProof':number;'Errors.InvalidAmount':number;'Errors.AlreadyInitialized':number;'Errors.NotAlreadyInitialized':number;'Errors.NotEnoughGas':number;'Errors.InvalidPoint':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.PositionLocked':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Wallet;static fromStorage(emptyStorage:{locked?:boolean;minter:c.Address;owner:c.Address;seqNo?:uint32$2;publicViewKey:CellRef$1<Point$1>;commitment:CellRef$1<Point$1>;},deployedOptions?:DeployedAddrOptions$2):Wallet;static createCellOfInternalDeposit(body:{queryId:uint64$2;amount:coins$2;commitment:Point$1;proof:CellRef$1<Proof>;}):c.Cell;static createCellOfInitTransfer(body:{queryId:uint64$2;to:c.Address;receiverViewKey:Point$1;newCommitment:CellRef$1<Point$1>;amountCommit:CellRef$1<Point$1>;proof:CellRef$1<Proof>;ad:CellRef$1<TransferAdditionalData>;}):c.Cell;static createCellOfInternalTransfer(body:{queryId:uint64$2;from:c.Address;receiverViewKey:Point$1;encAmount:CellRef$1<uint256$1>;amountCommit:CellRef$1<Point$1>;oldStorageCommitment:CellRef$1<Point$1>;ad:CellRef$1<InternalTransferAdditionalData>;}):c.Cell;static createCellOfTransferCallback(body:{queryId:uint64$2;from:c.Address;}):c.Cell;static createCellOfInitWithdraw(body:{queryId:uint64$2;amount:coins$2;newCommitment:CellRef$1<Point$1>;proof:CellRef$1<Proof>;}):c.Cell;static createCellOfInternalRegister(body:{queryId:uint64$2;publicViewKey:Point$1;}):c.Cell;static createCellOfInternalFlipWalletStatus(body:{queryId:uint64$2;excess:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins$2,extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalDeposit(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;amount:coins$2;commitment:Point$1;proof:CellRef$1<Proof>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInitTransfer(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;to:c.Address;receiverViewKey:Point$1;newCommitment:CellRef$1<Point$1>;amountCommit:CellRef$1<Point$1>;proof:CellRef$1<Proof>;ad:CellRef$1<TransferAdditionalData>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalTransfer(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;from:c.Address;receiverViewKey:Point$1;encAmount:CellRef$1<uint256$1>;amountCommit:CellRef$1<Point$1>;oldStorageCommitment:CellRef$1<Point$1>;ad:CellRef$1<InternalTransferAdditionalData>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendTransferCallback(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;from:c.Address;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInitWithdraw(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;amount:coins$2;newCommitment:CellRef$1<Point$1>;proof:CellRef$1<Proof>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalRegister(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;publicViewKey:Point$1;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalFlipWalletStatus(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;excess:c.Address;},extraOptions?:ExtraSendOptions$2):Promise<void>;getWalletData(provider:ContractProvider):Promise<WalletRuntimeStorage>;}type RemainingBitsAndRefs=c.Slice;type CellRef<T>={ref:T;};type coins$1=bigint;type uint32$1=bigint;type uint64$1=bigint;type uint256=bigint;interface MinterRuntimeStorage{readonly $:'MinterRuntimeStorage';id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;jettonWallet:c.Address|null;walletCode:c.Cell;}declare const MinterRuntimeStorage:{create(args:{id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;jettonWallet:c.Address|null;walletCode:c.Cell;}):MinterRuntimeStorage;fromSlice(s:c.Slice):MinterRuntimeStorage;store(self:MinterRuntimeStorage,b:c.Builder):void;toCell(self:MinterRuntimeStorage):c.Cell;};interface MinterStorageAdditionalData{readonly $:'MinterStorageAdditionalData';jettonWallet:c.Address|null;}declare const MinterStorageAdditionalData:{create(args:{jettonWallet?:c.Address|null;}):MinterStorageAdditionalData;fromSlice(s:c.Slice):MinterStorageAdditionalData;store(self:MinterStorageAdditionalData,b:c.Builder):void;toCell(self:MinterStorageAdditionalData):c.Cell;};interface Point{readonly $:'Point';x:uint256;y:uint256;}declare const Point:{create(args:{x:uint256;y:uint256;}):Point;fromSlice(s:c.Slice):Point;store(self:Point,b:c.Builder):void;toCell(self:Point):c.Cell;};interface ExtraSendOptions$1{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions$1{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Minter implements c.Contract{static CodeCell:c.Cell;static Errors:{'Errors.InvalidEitherBit':number;'Errors.InvalidAmount':number;'Errors.NotAlreadyInitialized':number;'Errors.NotEnoughGas':number;'Errors.InvalidPoint':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Minter;static fromStorage(emptyStorage:{id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;additionalData:CellRef<MinterStorageAdditionalData>;walletCode:c.Cell;},deployedOptions?:DeployedAddrOptions$1):Minter;static createCellOfInternalInitMinter(body:{queryId:uint64$1;jettonWallet:c.Address;excesses:c.Address;}):c.Cell;static createCellOfJettonTransferNotification(body:{queryId:uint64$1;jettonAmount:coins$1;from:c.Address;forwardPayload:RemainingBitsAndRefs;}):c.Cell;static createCellOfRegister(body:{queryId:uint64$1;publicViewKey:Point;}):c.Cell;static createCellOfInternalWithdraw(body:{queryId:uint64$1;from:c.Address;amount:coins$1;}):c.Cell;static createCellOfFlipWalletStatus(body:{queryId:uint64$1;owner:c.Address;}):c.Cell;static createCellOfTransferSuccessfulLog(body:{queryId:uint64$1;from:c.Address;data:c.Cell;}):c.Cell;static createCellOfInternalResetGas(body:{queryId:uint64$1;excess:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins$1,extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalInitMinter(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;jettonWallet:c.Address;excesses:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendJettonTransferNotification(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;jettonAmount:coins$1;from:c.Address;forwardPayload:RemainingBitsAndRefs;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendRegister(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;publicViewKey:Point;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalWithdraw(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;from:c.Address;amount:coins$1;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendFlipWalletStatus(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;owner:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendTransferSuccessfulLog(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;from:c.Address;data:c.Cell;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalResetGas(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;excess:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;getMinterData(provider:ContractProvider):Promise<MinterRuntimeStorage>;getWalletAddress(provider:ContractProvider,owner:c.Address):Promise<c.Address>;}type coins=bigint;type uint32=bigint;type uint64=bigint;interface FactoryRuntimeStorage{readonly $:'FactoryRuntimeStorage';id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;}declare const FactoryRuntimeStorage:{create(args:{id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;}):FactoryRuntimeStorage;fromSlice(s:c.Slice):FactoryRuntimeStorage;store(self:FactoryRuntimeStorage,b:c.Builder):void;toCell(self:FactoryRuntimeStorage):c.Cell;};interface ExtraSendOptions{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Factory implements c.Contract{static CodeCell:c.Cell;static Errors:{'Errors.NotEnoughGas':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Factory;static fromStorage(emptyStorage:{id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;},deployedOptions?:DeployedAddrOptions):Factory;static createCellOfInitMinter(body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;jettonWallet:c.Address;}):c.Cell;static createCellOfResetGas(body:{queryId:uint64;excess:c.Address;}):c.Cell;static createCellOfResetMinterGas(body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;manager:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins,extraOptions?:ExtraSendOptions):Promise<void>;sendInitMinter(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;jettonWallet:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;sendResetGas(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;excess:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;sendResetMinterGas(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;manager:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;getFactoryData(provider:ContractProvider):Promise<FactoryRuntimeStorage>;getMinterAddress(provider:ContractProvider,id:bigint,jettonMinter:c.Address,manager:c.Address):Promise<c.Address>;}export{CONSTANTS,type CicloneConfig,CicloneSDK,type CircuitArtifacts,type DepositArgs,type DepositResult,Factory,Gx,Gy,Hx,Hy,L,Minter,type Note,type Point$2 as Point,type Proof$1 as Proof,type SealNoteArgs,type SealedNote,type TransferArgs,type TransferResult,Wallet,type WalletKeys,type WithdrawArgs,type WithdrawResult,add,commit,d,decryptNote,derivePub,deriveViewKey,encryptNote,generateWalletKeys,mimc5perm,mod,modinv,modpow,mul,openNote,r,randomScalar,sealNote,viewKeyFromSpend,viewNote,walletKeysFromSpend};
1
+ import*as c from'@ton/core';import{ContractProvider,Sender,SendMode}from'@ton/core';declare const CONSTANTS:{readonly FIELD_ORDER:"52435875175126190479447740508185965837690552500527637822603658699938581184513";readonly JUBJUB_A:"52435875175126190479447740508185965837690552500527637822603658699938581184512";readonly JUBJUB_D:"19257038036680949359750312669786877991949435402254120286184196891950884077233";readonly JUBJUB_L:"6554484396890773809930967563523245729705921265872317281365359162392183254199";readonly JUBJUB_L_BITS:252;readonly GEN_Gx:"9439892453063030735323187312294193215315721624155265256041446064139063758940";readonly GEN_Gy:"33311521361620349823095975547796540660038567460292096943848549448618019639384";readonly GEN_Hx:"35892885103900252256502772632661230248615355824950858846864365092352335789911";readonly GEN_Hy:"20132911724793458364359774542513101355861258122048155387360391004020604936777";readonly MIMC_ROUNDS:110;readonly MIMC_C:readonly["0","15103003296285311994991196829843315048980816585203444166327140765904234277201","2855631646552958279280991863814817954891779073578526071864725683544619127111","49489489075176512800957043613012367845070793325498813954549418021382007360871","21695716502627885718936520179725298504379959493657917308721803328600734180084","18717093422378434477321030634685440693306407008976223947614833421561777370427","22459991854624568966819787279675260364992211753120823911188569238770219939980","39164374081735537272706243400380975468256665533029373415368294748656328007254","12289391154696391659986548759807111501071814715153972870862273756693400414590","21510296661205804269562709901785592831113025280057624218287347030221799730024","50893149158188039258954454914318955816677712214262455214075746444556434838445","40699247447444440027914818222867956844600434836477587518820296127338106753976","11583067579552384575172450057027685404430791813881050320075066566538403398154","2057558726145770834583134981301969911425061301627366194194791625203977494782","7134826793167471890141523578110323408233244998295210802536550134618180550936","6078497090535693158508851888200819737837060025607475272078978442802327777665","46629356917498168291829499465913517568392034518560507978220293544002048865230","37339278381857298929422023240804987004990720482473234504723505757708018867854","20461447768576640462902022034485328903427712962755857850263355830386368874019","9871504150256809292713749732352828477981187854996621958635879963877381645114","28055066328867453574974732375229334478343783501591253352469230822602091552804","966550438045935925663750495126774076152070700345227309734025057889078862118","30108629800022052202694021196377859929460725580798740253782443039198257351053","19529959410058237048730710466480003844884698707796771414193666215878736942278","49364673196825677250277202883987952462860277401977544221767930421498000704759","45611853135051404975182322318899269323882353001600337585430739185836875873699","21695938211759500029645648204433888363878338005658594110030745916219625352743","20784523902461333737760444089657468370716815976778322846390668153969120148265","47443461786173446066495163318608193980798044507383632065917221739767056847337","1811673096931711424919840007883305445474393947486927445835717108768262631760","20910367868035624656200319853664843201132604748514626878881846376369931253601","14518094248143522220129687216759189085885085988191815659475100636328075227430","35772133101832743972749438944910980802003803497276262365436978347821197246242","29144714823364790404370831939588856432419271105531171748828805322243765615940","38120255522917326268194672002454012179246074993407161133381466571047207031184","8920736496368386008293614446132181963785331702097125369515048492072690837650","4998686559923175998463010259350328243565464544732604302011900369105832798840","38646995170074744329684557576394548546403693586350630652528996743357441960661","21552248206093522811668558529771725887378013011261800801529832048264862141279","1736495064090167513146863052895191247546260473031257661816373122577239045075","21549313751781360730111590162402479116744221009735951538979498882739852526987","35192581118433497596946937272238257524062240456855744289068170205698831237264","42700211058061387359962528922639021108345312764901104244497664488612657454893","1237996939329167946521789095693327484833125021293137515793521135166604980034","33888995756958921997502233174914549708725280173031309122933477079378661568411","20665301924148669722101144869512250021122751491897382833425810961966525906756","8480660062650336997603030445935845231761124576157879436644039442927760916335","51445117922348373955960635594253753938952226848767922228713933889849361020270","35152271871220746083809060077007956182705153578422435159358814119530345198586","43076262533466253945834405191003651476975547273130924394597818073234635332135","51750613985668540898245261109932212780422124976008465667979846604142921316014","18449344230518992460868741097873874060471761038701168523820004865052188868818","34275545371587817924263108274910812738337259625930864470898125928332781261305","45506148857456226004250288532236082755299614969251631597619162716586957523000","10503687391642287964720230326997198249490467652775610353740924828559759207469","2072248748886572633465351433443511038698665657035001550921183301139451261497","7179997902220845648485640783393895696737311255579881944801371520959925429372","3515536418533380189351686234250154199849788185920597767247227967858298589048","46171734237001595080439007100152390921605507458802700995342490849846812152618","28703892301204954204735945084069004860653441443656947166842360600554829266764","42147024806380502465610355274058690830447129747150082641990093593480554434127","40969066563396384933163286365456787881003692917761396150421275783965451827185","2744184139986277399555633102014591849271705991245877211301381531668124314776","6809105985639821027464769167089559517692994766973538969832039179623118788764","42526916332339197136992204966101342323778902557693814581808201368329643107881","47367898477555649513344888015703258784704824112116267851465977817926917985508","52149217493698967124732030411965849850126131727727481355724563768072342363979","10282046293669536848128047949045457449159152560562078595626918314423212111206","38104282831626587375305070572230594581806040745573609484654403622286215425329","2132381857125014536575466985206664278130186791405077806185490245642750995607","9715756165256441413576003899214584764515826488796161806759850776281040672749","17469505807959020307566492191232309021466645546502046470681853600170213294451","51578910025890004601529967515127074541305563815419626190094013782382952516099","25376806578384700898934736167819867041133310721731132775231781759148469264235","26816608123840087721893712112335501165997460414064027285602433391071458647766","49799935161212651494105304745421258811379717093934768761004538974548304005964","27066098403968724257009469844946989728234265822542014037139909567447752575297","33630373266856175932515565774900309672340389315920771616580933630045454565293","622561109667259256229501547269068094793001686117816948029034545504150136609","49535581664372050311792989648063707098625314450433227424869506982167792310528","44624734382114259220747114506697619844726346482795888641575010921927839274055","49207313909359724933543648441749939048147039595180602955364854800415157800816","14124552281615012425057601405149339398028033237800277601031191666523400254891","11631878793419444670981925248447762731084863721698828872225502194285745163222","17006249311626259080510517712251897778396895251931479339407489243517593666855","47836849519511439764105980409378164603184853801256920812046059845514364657907","36580304968616308290658381216179885951353751818634240577619257344996861758955","27560245966222005779654222440510146514977351787199335898772264609616232737662","11237673836174136311999165320815092787813619858983672486984069711908219969786","45517624383779775342484214680588875322585867528512416326118323181527316201846","2591546198780320137912321646652470812622040974497108755569795921642637941506","47629122369327308238145608886516616246561408388961245378679951305591439162500","42232102896456887780896149238649354840416167687514636500293107566970554693617","17432279959211252257512837586735471807035784040109684142769509430817434372637","11603725323370456475476575450202487872959388003978314104278009068201124695803","39120404993454495759668681908172856380067537309932392744884241297639679309079","45463903982878444583684624947239501680582530190776445309590037812800906573019","30440678292548392883126133148846576744552906926837046696680177029789651340907","30253955304657561353204813941967483238886294842150600978897530209199473810824","6850304667631937366897932842990279755794575548210676981054011011877306353280","28861515121661092508466187938889913296091951806901947680919100570655962562040","7614622124426428478095247553232337218314768230302383829670201078933047037858","13178383305004371315847473750618929917379891360343665979087864348870926953073","51294155054276581852444719080505788611887062809942409945741835972861838436718","47945473905691864101353255404071767438110838202935093980651540814109520489291","14198375548107963048985881156136226728256423264586177722936137880114417516151","26585443846251610956247171469071754191747910659268686188185916288135421458120","24825676508294663747431688932361545585862145174250510068648420970113666514283","46335422699488226035249305414978584175742053372246294612182875733270932034996","38994544838690504598167256072038162414238197511530093899914653771167602235352"];};type Point$2=[bigint,bigint];declare const r:bigint;declare const d:bigint;declare const L:bigint;declare const Gx:bigint;declare const Gy:bigint;declare const Hx:bigint;declare const Hy:bigint;declare const mod:(a:bigint,m?:bigint)=>bigint;declare function modpow(base:bigint,exp:bigint,m?:bigint):bigint;declare const modinv:(a:bigint,m?:bigint)=>bigint;declare function add(x1:bigint,y1:bigint,x2:bigint,y2:bigint):Point$2;declare function mul(x:bigint,y:bigint,s:bigint):Point$2;declare function commit(value:bigint,blinding:bigint):Point$2;declare function derivePub(sk:bigint):Point$2;declare function randomScalar(maxBits?:number):bigint;declare function mimc5perm(input:bigint,key:bigint):bigint;interface Note{Rx:bigint;Ry:bigint;enc_amount:bigint;enc_blind:bigint;eph_scalar:bigint;shared_x:bigint;}declare function deriveViewKey(spendSk:bigint):{skView:bigint;pkView:Point$2;};declare function encryptNote(amount:bigint,amountBlind:bigint,receiverViewPkX:bigint,receiverViewPkY:bigint,ephScalar:bigint):Note;declare function decryptNote(skView:bigint,Rx:bigint,Ry:bigint,encAmount:bigint,encBlind:bigint):{amount:bigint;amountBlind:bigint;};declare function viewNote(skView:bigint,note:{Rx:bigint;Ry:bigint;enc_amount:bigint;enc_blind:bigint;},amountCommitX:bigint,amountCommitY:bigint):{amount:bigint;amountBlind:bigint;valid:boolean;};interface CircuitArtifacts{wasm:string|Uint8Array;zkey:string|Uint8Array;}interface CicloneConfig{deposit:CircuitArtifacts;withdraw:CircuitArtifacts;transfer:CircuitArtifacts;}interface Proof$1{proof:unknown;publicSignals:string[];}interface DepositArgs{amount:bigint;accountId:bigint;seqNo:bigint;blinding?:bigint;}interface WithdrawArgs{amount:bigint;balance:bigint;oldBlind:bigint;accountId:bigint;seqNo:bigint;newBlind?:bigint;}interface TransferArgs{amount:bigint;senderBalance:bigint;senderOldBlind:bigint;receiverViewPk:Point$2;accountId:bigint;seqNo:bigint;senderNewBlind?:bigint;amountBlind?:bigint;ephScalar?:bigint;}interface DepositResult extends Proof$1{commitment:Point$2;blinding:bigint;}interface WithdrawResult extends Proof$1{newCommitment:Point$2;remainder:bigint;newBlind:bigint;}interface TransferResult extends Proof$1{newSenderCommitment:Point$2;amountCommitment:Point$2;note:Note;remainder:bigint;senderNewBlind:bigint;amountBlind:bigint;ephScalar:bigint;}declare class CicloneSDK{private readonly cfg;constructor(cfg:CicloneConfig);static fromBuildDir(dir:string):CicloneSDK;static bundled():CicloneSDK;private prove;deposit(args:DepositArgs):Promise<DepositResult>;withdraw(args:WithdrawArgs):Promise<WithdrawResult>;transfer(args:TransferArgs):Promise<TransferResult>;}interface WalletKeys{spendSk:bigint;spendPk:Point$2;viewSk:bigint;viewPk:Point$2;}declare function generateWalletKeys():WalletKeys;declare function walletKeysFromSpend(spendSk:bigint):WalletKeys;declare function viewKeyFromSpend(spendSk:bigint):{viewSk:bigint;viewPk:Point$2;};type SealedNote=Pick<Note,"Rx"|"Ry"|"enc_amount"|"enc_blind">;interface SealNoteArgs{amount:bigint;amountBlind:bigint;receiverViewPk:Point$2;ephScalar?:bigint;}declare function sealNote(args:SealNoteArgs):Note;declare function openNote(viewSk:bigint,note:SealedNote):{amount:bigint;amountBlind:bigint;};type CellRef$1<T>={ref:T;};type coins$2=bigint;type uint32$2=bigint;type uint64$2=bigint;type uint256$1=bigint;interface WalletRuntimeStorage{readonly $:'WalletRuntimeStorage';locked:boolean;minter:c.Address;owner:c.Address;seqNo:uint32$2;publicViewKey:Point$1;commitment:Point$1;}declare const WalletRuntimeStorage:{create(args:{locked:boolean;minter:c.Address;owner:c.Address;seqNo:uint32$2;publicViewKey:Point$1;commitment:Point$1;}):WalletRuntimeStorage;fromSlice(s:c.Slice):WalletRuntimeStorage;store(self:WalletRuntimeStorage,b:c.Builder):void;toCell(self:WalletRuntimeStorage):c.Cell;};interface TransferAdditionalData{readonly $:'TransferAdditionalData';ephemeral:Point$1;encAmount:uint256$1;encBlind:CellRef$1<uint256$1>;}declare const TransferAdditionalData:{create(args:{ephemeral:Point$1;encAmount:uint256$1;encBlind:CellRef$1<uint256$1>;}):TransferAdditionalData;fromSlice(s:c.Slice):TransferAdditionalData;store(self:TransferAdditionalData,b:c.Builder):void;toCell(self:TransferAdditionalData):c.Cell;};interface InternalTransferAdditionalData{readonly $:'InternalTransferAdditionalData';ephemeral:Point$1;encBlind:uint256$1;}declare const InternalTransferAdditionalData:{create(args:{ephemeral:Point$1;encBlind:uint256$1;}):InternalTransferAdditionalData;fromSlice(s:c.Slice):InternalTransferAdditionalData;store(self:InternalTransferAdditionalData,b:c.Builder):void;toCell(self:InternalTransferAdditionalData):c.Cell;};interface Point$1{readonly $:'Point';x:uint256$1;y:uint256$1;}declare const Point$1:{create(args:{x:uint256$1;y:uint256$1;}):Point$1;fromSlice(s:c.Slice):Point$1;store(self:Point$1,b:c.Builder):void;toCell(self:Point$1):c.Cell;};interface Proof{readonly $:'Proof';piA:c.Cell;piB:c.Cell;piC:c.Cell;}declare const Proof:{create(args:{piA:c.Cell;piB:c.Cell;piC:c.Cell;}):Proof;fromSlice(s:c.Slice):Proof;store(self:Proof,b:c.Builder):void;toCell(self:Proof):c.Cell;};interface ExtraSendOptions$2{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions$2{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Wallet implements c.Contract{static CodeCell:c.Cell;static Errors:{'DepositErrors.InvalidInputs':number;'TransferErrors.InvalidInputs':number;'WithdrawErrors.InvalidInputs':number;'TransferErrors.IndexOutOfRange':number;'Errors.InvalidProof':number;'Errors.InvalidAmount':number;'Errors.AlreadyInitialized':number;'Errors.NotAlreadyInitialized':number;'Errors.NotEnoughGas':number;'Errors.InvalidPoint':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.PositionLocked':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Wallet;static fromStorage(emptyStorage:{locked?:boolean;minter:c.Address;owner:c.Address;seqNo?:uint32$2;publicViewKey:CellRef$1<Point$1>;commitment:CellRef$1<Point$1>;},deployedOptions?:DeployedAddrOptions$2):Wallet;static createCellOfInternalDeposit(body:{queryId:uint64$2;amount:coins$2;commitment:Point$1;proof:CellRef$1<Proof>;}):c.Cell;static createCellOfInitTransfer(body:{queryId:uint64$2;to:c.Address;receiverViewKey:Point$1;newCommitment:CellRef$1<Point$1>;amountCommit:CellRef$1<Point$1>;proof:CellRef$1<Proof>;ad:CellRef$1<TransferAdditionalData>;}):c.Cell;static createCellOfInternalTransfer(body:{queryId:uint64$2;from:c.Address;receiverViewKey:Point$1;encAmount:CellRef$1<uint256$1>;amountCommit:CellRef$1<Point$1>;oldStorageCommitment:CellRef$1<Point$1>;ad:CellRef$1<InternalTransferAdditionalData>;}):c.Cell;static createCellOfTransferCallback(body:{queryId:uint64$2;from:c.Address;}):c.Cell;static createCellOfInitWithdraw(body:{queryId:uint64$2;amount:coins$2;newCommitment:CellRef$1<Point$1>;proof:CellRef$1<Proof>;}):c.Cell;static createCellOfInternalRegister(body:{queryId:uint64$2;publicViewKey:Point$1;}):c.Cell;static createCellOfInternalFlipWalletStatus(body:{queryId:uint64$2;excess:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins$2,extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalDeposit(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;amount:coins$2;commitment:Point$1;proof:CellRef$1<Proof>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInitTransfer(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;to:c.Address;receiverViewKey:Point$1;newCommitment:CellRef$1<Point$1>;amountCommit:CellRef$1<Point$1>;proof:CellRef$1<Proof>;ad:CellRef$1<TransferAdditionalData>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalTransfer(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;from:c.Address;receiverViewKey:Point$1;encAmount:CellRef$1<uint256$1>;amountCommit:CellRef$1<Point$1>;oldStorageCommitment:CellRef$1<Point$1>;ad:CellRef$1<InternalTransferAdditionalData>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendTransferCallback(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;from:c.Address;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInitWithdraw(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;amount:coins$2;newCommitment:CellRef$1<Point$1>;proof:CellRef$1<Proof>;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalRegister(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;publicViewKey:Point$1;},extraOptions?:ExtraSendOptions$2):Promise<void>;sendInternalFlipWalletStatus(provider:ContractProvider,via:Sender,msgValue:coins$2,body:{queryId:uint64$2;excess:c.Address;},extraOptions?:ExtraSendOptions$2):Promise<void>;getWalletData(provider:ContractProvider):Promise<WalletRuntimeStorage>;}type RemainingBitsAndRefs=c.Slice;type CellRef<T>={ref:T;};type coins$1=bigint;type uint32$1=bigint;type uint64$1=bigint;type uint256=bigint;interface MinterRuntimeStorage{readonly $:'MinterRuntimeStorage';id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;jettonWallet:c.Address|null;walletCode:c.Cell;}declare const MinterRuntimeStorage:{create(args:{id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;jettonWallet:c.Address|null;walletCode:c.Cell;}):MinterRuntimeStorage;fromSlice(s:c.Slice):MinterRuntimeStorage;store(self:MinterRuntimeStorage,b:c.Builder):void;toCell(self:MinterRuntimeStorage):c.Cell;};interface MinterStorageAdditionalData{readonly $:'MinterStorageAdditionalData';jettonWallet:c.Address|null;}declare const MinterStorageAdditionalData:{create(args:{jettonWallet?:c.Address|null;}):MinterStorageAdditionalData;fromSlice(s:c.Slice):MinterStorageAdditionalData;store(self:MinterStorageAdditionalData,b:c.Builder):void;toCell(self:MinterStorageAdditionalData):c.Cell;};interface Point{readonly $:'Point';x:uint256;y:uint256;}declare const Point:{create(args:{x:uint256;y:uint256;}):Point;fromSlice(s:c.Slice):Point;store(self:Point,b:c.Builder):void;toCell(self:Point):c.Cell;};interface ExtraSendOptions$1{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions$1{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Minter implements c.Contract{static CodeCell:c.Cell;static Errors:{'Errors.InvalidEitherBit':number;'Errors.InvalidAmount':number;'Errors.NotAlreadyInitialized':number;'Errors.NotEnoughGas':number;'Errors.InvalidPoint':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Minter;static fromStorage(emptyStorage:{id:uint32$1;factory:c.Address;manager:c.Address;jettonMinter:c.Address;additionalData:CellRef<MinterStorageAdditionalData>;walletCode:c.Cell;},deployedOptions?:DeployedAddrOptions$1):Minter;static createCellOfInternalInitMinter(body:{queryId:uint64$1;jettonWallet:c.Address;excesses:c.Address;}):c.Cell;static createCellOfJettonTransferNotification(body:{queryId:uint64$1;jettonAmount:coins$1;from:c.Address;forwardPayload:RemainingBitsAndRefs;}):c.Cell;static createCellOfRegister(body:{queryId:uint64$1;publicViewKey:Point;}):c.Cell;static createCellOfInternalWithdraw(body:{queryId:uint64$1;from:c.Address;amount:coins$1;}):c.Cell;static createCellOfFlipWalletStatus(body:{queryId:uint64$1;owner:c.Address;}):c.Cell;static createCellOfTransferSuccessfulLog(body:{queryId:uint64$1;from:c.Address;data:c.Cell;}):c.Cell;static createCellOfInternalResetGas(body:{queryId:uint64$1;excess:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins$1,extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalInitMinter(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;jettonWallet:c.Address;excesses:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendJettonTransferNotification(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;jettonAmount:coins$1;from:c.Address;forwardPayload:RemainingBitsAndRefs;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendRegister(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;publicViewKey:Point;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalWithdraw(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;from:c.Address;amount:coins$1;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendFlipWalletStatus(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;owner:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendTransferSuccessfulLog(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;from:c.Address;data:c.Cell;},extraOptions?:ExtraSendOptions$1):Promise<void>;sendInternalResetGas(provider:ContractProvider,via:Sender,msgValue:coins$1,body:{queryId:uint64$1;excess:c.Address;},extraOptions?:ExtraSendOptions$1):Promise<void>;getMinterData(provider:ContractProvider):Promise<MinterRuntimeStorage>;getWalletAddress(provider:ContractProvider,owner:c.Address):Promise<c.Address>;}type coins=bigint;type uint32=bigint;type uint64=bigint;interface FactoryRuntimeStorage{readonly $:'FactoryRuntimeStorage';id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;}declare const FactoryRuntimeStorage:{create(args:{id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;}):FactoryRuntimeStorage;fromSlice(s:c.Slice):FactoryRuntimeStorage;store(self:FactoryRuntimeStorage,b:c.Builder):void;toCell(self:FactoryRuntimeStorage):c.Cell;};interface ExtraSendOptions{bounce?:boolean;sendMode?:SendMode;extraCurrencies?:c.ExtraCurrency;}interface DeployedAddrOptions{workchain?:number;toShard?:{fixedPrefixLength:number;closeTo:c.Address;};overrideContractCode?:c.Cell;}declare class Factory implements c.Contract{static CodeCell:c.Cell;static Errors:{'Errors.NotEnoughGas':number;'Errors.InvalidWorkchain':number;'Errors.WrongSender':number;'Errors.WrongOP':number;};readonly address:c.Address;readonly init:{code:c.Cell;data:c.Cell;}|undefined;protected constructor(address:c.Address,init?:{code:c.Cell;data:c.Cell;});static fromAddress(address:c.Address):Factory;static fromStorage(emptyStorage:{id:uint32;owner:c.Address;minterCode:c.Cell;walletCode:c.Cell;},deployedOptions?:DeployedAddrOptions):Factory;static createCellOfInitMinter(body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;jettonWallet:c.Address;}):c.Cell;static createCellOfResetGas(body:{queryId:uint64;excess:c.Address;}):c.Cell;static createCellOfResetMinterGas(body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;manager:c.Address;}):c.Cell;sendDeploy(provider:ContractProvider,via:Sender,msgValue:coins,extraOptions?:ExtraSendOptions):Promise<void>;sendInitMinter(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;jettonWallet:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;sendResetGas(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;excess:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;sendResetMinterGas(provider:ContractProvider,via:Sender,msgValue:coins,body:{queryId:uint64;minterId:uint32;jettonMinter:c.Address;manager:c.Address;},extraOptions?:ExtraSendOptions):Promise<void>;getFactoryData(provider:ContractProvider):Promise<FactoryRuntimeStorage>;getMinterAddress(provider:ContractProvider,id:bigint,jettonMinter:c.Address,manager:c.Address):Promise<c.Address>;}export{CONSTANTS,type CicloneConfig,CicloneSDK,type CircuitArtifacts,type DepositArgs,type DepositResult,Factory,Gx,Gy,Hx,Hy,L,Minter,type Note,type Point$2 as Point,type Proof$1 as Proof,type SealNoteArgs,type SealedNote,type TransferArgs,type TransferResult,Wallet,type WalletKeys,type WithdrawArgs,type WithdrawResult,add,commit,d,decryptNote,derivePub,deriveViewKey,encryptNote,generateWalletKeys,mimc5perm,mod,modinv,modpow,mul,openNote,r,randomScalar,sealNote,viewKeyFromSpend,viewNote,walletKeysFromSpend};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var Ee=require('crypto'),fe=require('path'),ke=require('snarkjs'),f=require('@ton/core');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var fe__namespace=/*#__PURE__*/_interopNamespace(fe);var ke__namespace=/*#__PURE__*/_interopNamespace(ke);var f__namespace=/*#__PURE__*/_interopNamespace(f);var A={FIELD_ORDER:"52435875175126190479447740508185965837690552500527637822603658699938581184513",JUBJUB_A:"52435875175126190479447740508185965837690552500527637822603658699938581184512",JUBJUB_D:"19257038036680949359750312669786877991949435402254120286184196891950884077233",JUBJUB_L:"6554484396890773809930967563523245729705921265872317281365359162392183254199",JUBJUB_L_BITS:252,GEN_Gx:"9439892453063030735323187312294193215315721624155265256041446064139063758940",GEN_Gy:"33311521361620349823095975547796540660038567460292096943848549448618019639384",GEN_Hx:"35892885103900252256502772632661230248615355824950858846864365092352335789911",GEN_Hy:"20132911724793458364359774542513101355861258122048155387360391004020604936777",MIMC_ROUNDS:110,MIMC_C:["0","15103003296285311994991196829843315048980816585203444166327140765904234277201","2855631646552958279280991863814817954891779073578526071864725683544619127111","49489489075176512800957043613012367845070793325498813954549418021382007360871","21695716502627885718936520179725298504379959493657917308721803328600734180084","18717093422378434477321030634685440693306407008976223947614833421561777370427","22459991854624568966819787279675260364992211753120823911188569238770219939980","39164374081735537272706243400380975468256665533029373415368294748656328007254","12289391154696391659986548759807111501071814715153972870862273756693400414590","21510296661205804269562709901785592831113025280057624218287347030221799730024","50893149158188039258954454914318955816677712214262455214075746444556434838445","40699247447444440027914818222867956844600434836477587518820296127338106753976","11583067579552384575172450057027685404430791813881050320075066566538403398154","2057558726145770834583134981301969911425061301627366194194791625203977494782","7134826793167471890141523578110323408233244998295210802536550134618180550936","6078497090535693158508851888200819737837060025607475272078978442802327777665","46629356917498168291829499465913517568392034518560507978220293544002048865230","37339278381857298929422023240804987004990720482473234504723505757708018867854","20461447768576640462902022034485328903427712962755857850263355830386368874019","9871504150256809292713749732352828477981187854996621958635879963877381645114","28055066328867453574974732375229334478343783501591253352469230822602091552804","966550438045935925663750495126774076152070700345227309734025057889078862118","30108629800022052202694021196377859929460725580798740253782443039198257351053","19529959410058237048730710466480003844884698707796771414193666215878736942278","49364673196825677250277202883987952462860277401977544221767930421498000704759","45611853135051404975182322318899269323882353001600337585430739185836875873699","21695938211759500029645648204433888363878338005658594110030745916219625352743","20784523902461333737760444089657468370716815976778322846390668153969120148265","47443461786173446066495163318608193980798044507383632065917221739767056847337","1811673096931711424919840007883305445474393947486927445835717108768262631760","20910367868035624656200319853664843201132604748514626878881846376369931253601","14518094248143522220129687216759189085885085988191815659475100636328075227430","35772133101832743972749438944910980802003803497276262365436978347821197246242","29144714823364790404370831939588856432419271105531171748828805322243765615940","38120255522917326268194672002454012179246074993407161133381466571047207031184","8920736496368386008293614446132181963785331702097125369515048492072690837650","4998686559923175998463010259350328243565464544732604302011900369105832798840","38646995170074744329684557576394548546403693586350630652528996743357441960661","21552248206093522811668558529771725887378013011261800801529832048264862141279","1736495064090167513146863052895191247546260473031257661816373122577239045075","21549313751781360730111590162402479116744221009735951538979498882739852526987","35192581118433497596946937272238257524062240456855744289068170205698831237264","42700211058061387359962528922639021108345312764901104244497664488612657454893","1237996939329167946521789095693327484833125021293137515793521135166604980034","33888995756958921997502233174914549708725280173031309122933477079378661568411","20665301924148669722101144869512250021122751491897382833425810961966525906756","8480660062650336997603030445935845231761124576157879436644039442927760916335","51445117922348373955960635594253753938952226848767922228713933889849361020270","35152271871220746083809060077007956182705153578422435159358814119530345198586","43076262533466253945834405191003651476975547273130924394597818073234635332135","51750613985668540898245261109932212780422124976008465667979846604142921316014","18449344230518992460868741097873874060471761038701168523820004865052188868818","34275545371587817924263108274910812738337259625930864470898125928332781261305","45506148857456226004250288532236082755299614969251631597619162716586957523000","10503687391642287964720230326997198249490467652775610353740924828559759207469","2072248748886572633465351433443511038698665657035001550921183301139451261497","7179997902220845648485640783393895696737311255579881944801371520959925429372","3515536418533380189351686234250154199849788185920597767247227967858298589048","46171734237001595080439007100152390921605507458802700995342490849846812152618","28703892301204954204735945084069004860653441443656947166842360600554829266764","42147024806380502465610355274058690830447129747150082641990093593480554434127","40969066563396384933163286365456787881003692917761396150421275783965451827185","2744184139986277399555633102014591849271705991245877211301381531668124314776","6809105985639821027464769167089559517692994766973538969832039179623118788764","42526916332339197136992204966101342323778902557693814581808201368329643107881","47367898477555649513344888015703258784704824112116267851465977817926917985508","52149217493698967124732030411965849850126131727727481355724563768072342363979","10282046293669536848128047949045457449159152560562078595626918314423212111206","38104282831626587375305070572230594581806040745573609484654403622286215425329","2132381857125014536575466985206664278130186791405077806185490245642750995607","9715756165256441413576003899214584764515826488796161806759850776281040672749","17469505807959020307566492191232309021466645546502046470681853600170213294451","51578910025890004601529967515127074541305563815419626190094013782382952516099","25376806578384700898934736167819867041133310721731132775231781759148469264235","26816608123840087721893712112335501165997460414064027285602433391071458647766","49799935161212651494105304745421258811379717093934768761004538974548304005964","27066098403968724257009469844946989728234265822542014037139909567447752575297","33630373266856175932515565774900309672340389315920771616580933630045454565293","622561109667259256229501547269068094793001686117816948029034545504150136609","49535581664372050311792989648063707098625314450433227424869506982167792310528","44624734382114259220747114506697619844726346482795888641575010921927839274055","49207313909359724933543648441749939048147039595180602955364854800415157800816","14124552281615012425057601405149339398028033237800277601031191666523400254891","11631878793419444670981925248447762731084863721698828872225502194285745163222","17006249311626259080510517712251897778396895251931479339407489243517593666855","47836849519511439764105980409378164603184853801256920812046059845514364657907","36580304968616308290658381216179885951353751818634240577619257344996861758955","27560245966222005779654222440510146514977351787199335898772264609616232737662","11237673836174136311999165320815092787813619858983672486984069711908219969786","45517624383779775342484214680588875322585867528512416326118323181527316201846","2591546198780320137912321646652470812622040974497108755569795921642637941506","47629122369327308238145608886516616246561408388961245378679951305591439162500","42232102896456887780896149238649354840416167687514636500293107566970554693617","17432279959211252257512837586735471807035784040109684142769509430817434372637","11603725323370456475476575450202487872959388003978314104278009068201124695803","39120404993454495759668681908172856380067537309932392744884241297639679309079","45463903982878444583684624947239501680582530190776445309590037812800906573019","30440678292548392883126133148846576744552906926837046696680177029789651340907","30253955304657561353204813941967483238886294842150600978897530209199473810824","6850304667631937366897932842990279755794575548210676981054011011877306353280","28861515121661092508466187938889913296091951806901947680919100570655962562040","7614622124426428478095247553232337218314768230302383829670201078933047037858","13178383305004371315847473750618929917379891360343665979087864348870926953073","51294155054276581852444719080505788611887062809942409945741835972861838436718","47945473905691864101353255404071767438110838202935093980651540814109520489291","14198375548107963048985881156136226728256423264586177722936137880114417516151","26585443846251610956247171469071754191747910659268686188185916288135421458120","24825676508294663747431688932361545585862145174250510068648420970113666514283","46335422699488226035249305414978584175742053372246294612182875733270932034996","38994544838690504598167256072038162414238197511530093899914653771167602235352"]};var w=BigInt(A.FIELD_ORDER),Ue=BigInt(A.JUBJUB_D),M=BigInt(A.JUBJUB_L),D=BigInt(A.GEN_Gx),V=BigInt(A.GEN_Gy),he=BigInt(A.GEN_Hx),De=BigInt(A.GEN_Hy),a=(e,t=w)=>(e%t+t)%t;function Ve(e,t,r=w){e=a(e,r);let n=1n;for(;t>0n;)t&1n&&(n=a(n*e,r)),e=a(e*e,r),t>>=1n;return n}var ue=(e,t=w)=>Ve(a(e,t),t-2n,t);function ne(e,t,r,n){let o=a(e*r),i=a(t*n),s=a(e*n),d=a(t*r),y=a(Ue*a(o*i)),P=a(s+d),ee=a(i+o),te=a(1n+y),re=a(1n+w-y);return [a(P*ue(te)),a(ee*ue(re))]}function x(e,t,r){r=a(r,M);let n=0n,o=1n,i=e,s=t;for(;r>0n;)r&1n&&([n,o]=ne(n,o,i,s)),[i,s]=ne(i,s,i,s),r>>=1n;return [n,o]}function p(e,t){let[r,n]=x(D,V,e),[o,i]=x(he,De,t);return ne(r,n,o,i)}function Ae(e){return x(D,V,e)}function S(e=252){let t=Ee__namespace.randomBytes(32),r=0n;for(let o=0;o<32;o++)r=r<<8n|BigInt(t[o]);r=a(r,M);let n=(1n<<BigInt(e))-1n;return r=r&n,r===0n&&(r=1n),r}var Ge=A.MIMC_ROUNDS,ze=A.MIMC_C.map(e=>BigInt(e));function B(e,t){let r=a(e);t=a(t);for(let n=0;n<Ge;n++){let o=a(r+t+ze[n]),i=a(o*o),s=a(i*i);r=a(s*o);}return a(r+t)}var be=1n,Ye=2n,Qe=7n;function oe(e){let t=a(B(Qe,a(e)),M);return t===0n&&(t=1n),{skView:t,pkView:x(D,V,t)}}function k(e,t,r,n,o){let[i,s]=x(D,V,o),[d]=x(r,n,o),y=B(be,d),P=B(Ye,d);return {Rx:i,Ry:s,enc_amount:a(e+y),enc_blind:a(t+P),eph_scalar:o,shared_x:d}}function ie(e,t,r,n,o){let[i]=x(t,r,e),s=B(be,i),d=B(Ye,i);return {amount:a(n+w-s),amountBlind:a(o+w-d)}}function je(e,t,r,n){let{amount:o,amountBlind:i}=ie(e,t.Rx,t.Ry,t.enc_amount,t.enc_blind),[s,d]=p(o,i);return {amount:o,amountBlind:i,valid:s===r&&d===n}}var ge=class e{constructor(t){this.cfg=t;}static fromBuildDir(t){let r=n=>({wasm:fe__namespace.join(t,n,`${n}_js`,`${n}.wasm`),zkey:fe__namespace.join(t,n,`${n}_final.zkey`)});return new e({deposit:r("deposit"),withdraw:r("withdraw"),transfer:r("transfer")})}prove(t,r){return ke__namespace.groth16.fullProve(r,t.wasm,t.zkey)}async deposit(t){let r=t.blinding??S(252),[n,o]=p(t.amount,r),{proof:i,publicSignals:s}=await this.prove(this.cfg.deposit,{amount:t.amount.toString(),commitment_x:n.toString(),commitment_y:o.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),blinding:r.toString()});return {proof:i,publicSignals:s,commitment:[n,o],blinding:r}}async withdraw(t){let r=t.newBlind??S(252),n=t.balance-t.amount,[o,i]=p(t.balance,t.oldBlind),[s,d]=p(n,r),{proof:y,publicSignals:P}=await this.prove(this.cfg.withdraw,{amount:t.amount.toString(),old_commitment_x:o.toString(),old_commitment_y:i.toString(),new_commitment_x:s.toString(),new_commitment_y:d.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),balance:t.balance.toString(),old_blind:t.oldBlind.toString(),new_blind:r.toString()});return {proof:y,publicSignals:P,newCommitment:[s,d],remainder:n,newBlind:r}}async transfer(t){let r=t.senderNewBlind??S(252),n=t.senderBalance-t.amount,o=t.amountBlind??a(t.senderOldBlind-r+M,M),i=t.ephScalar??S(252),[s,d]=p(t.senderBalance,t.senderOldBlind),[y,P]=p(n,r),[ee,te]=p(t.amount,o),[re,ve]=t.receiverViewPk,Y=k(t.amount,o,re,ve,i),{proof:Je,publicSignals:Ne}=await this.prove(this.cfg.transfer,{old_sender_cx:s.toString(),old_sender_cy:d.toString(),new_sender_cx:y.toString(),new_sender_cy:P.toString(),amount_commit_x:ee.toString(),amount_commit_y:te.toString(),receiver_view_pk_x:re.toString(),receiver_view_pk_y:ve.toString(),ephemeral_x:Y.Rx.toString(),ephemeral_y:Y.Ry.toString(),enc_amount:Y.enc_amount.toString(),enc_blind:Y.enc_blind.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),sender_balance:t.senderBalance.toString(),sender_old_blind:t.senderOldBlind.toString(),sender_new_blind:r.toString(),amount:t.amount.toString(),amount_blind:o.toString(),eph_scalar:i.toString()});return {proof:Je,publicSignals:Ne,newSenderCommitment:[y,P],amountCommitment:[ee,te],note:Y,remainder:n,senderNewBlind:r,amountBlind:o,ephScalar:i}}};function We(){return me(S(252))}function me(e){let{skView:t,pkView:r}=oe(e);return {spendSk:e,spendPk:Ae(e),viewSk:t,viewPk:r}}function Le(e){let{skView:t,pkView:r}=oe(e);return {viewSk:t,viewPk:r}}function qe(e){let t=e.ephScalar??S(252);return k(e.amount,e.amountBlind,e.receiverViewPk[0],e.receiverViewPk[1],t)}function Fe(e,t){return ie(e,t.Rx,t.Ry,t.enc_amount,t.enc_blind)}function g(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function v(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}function c(e,t,r){let n=f__namespace.beginCell();r(e.ref,n),t.storeRef(n.endCell());}function u(e,t){let r=e.loadRef().beginParse();return {ref:t(r)}}var Ie=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}};var pe={create(e){return {$:"WalletStorage",locked:false,seqNo:0n,...e}},fromSlice(e){return {$:"WalletStorage",locked:e.loadBoolean(),minter:e.loadAddress(),owner:e.loadAddress(),seqNo:e.loadUintBig(32),publicViewKey:u(e,l.fromSlice),commitment:u(e,l.fromSlice)}},store(e,t){t.storeBit(e.locked),t.storeAddress(e.minter),t.storeAddress(e.owner),t.storeUint(e.seqNo,32),c(e.publicViewKey,t,l.store),c(e.commitment,t,l.store);},toCell(e){return g(e,pe.store)}},Se={fromSlice(e){return {$:"TransferAdditionalData",ephemeral:l.fromSlice(e),encAmount:e.loadUintBig(256),encBlind:u(e,t=>t.loadUintBig(256))}},store(e,t){l.store(e.ephemeral,t),t.storeUint(e.encAmount,256),c(e.encBlind,t,(r,n)=>n.storeUint(r,256));}},W={PREFIX:2288014764,create(e){return {$:"InitTransfer",...e}},fromSlice(e){return v(e,2288014764,"InitTransfer"),{$:"InitTransfer",queryId:e.loadUintBig(64),to:e.loadAddress(),receiverViewKey:l.fromSlice(e),newCommitment:u(e,l.fromSlice),amountCommit:u(e,l.fromSlice),proof:u(e,T.fromSlice),ad:u(e,Se.fromSlice)}},store(e,t){t.storeUint(2288014764,32),t.storeUint(e.queryId,64),t.storeAddress(e.to),l.store(e.receiverViewKey,t),c(e.newCommitment,t,l.store),c(e.amountCommit,t,l.store),c(e.proof,t,T.store),c(e.ad,t,Se.store);},toCell(e){return g(e,W.store)}},ye={fromSlice(e){return {$:"InternalTransferAdditionalData",ephemeral:l.fromSlice(e),encBlind:e.loadUintBig(256)}},store(e,t){l.store(e.ephemeral,t),t.storeUint(e.encBlind,256);}},L={PREFIX:3257735840,create(e){return {$:"InternalTransfer",...e}},fromSlice(e){return v(e,3257735840,"InternalTransfer"),{$:"InternalTransfer",queryId:e.loadUintBig(64),from:e.loadAddress(),receiverViewKey:l.fromSlice(e),encAmount:u(e,t=>t.loadUintBig(256)),amountCommit:u(e,l.fromSlice),oldStorageCommitment:u(e,l.fromSlice),ad:u(e,ye.fromSlice)}},store(e,t){t.storeUint(3257735840,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),l.store(e.receiverViewKey,t),c(e.encAmount,t,(r,n)=>n.storeUint(r,256)),c(e.amountCommit,t,l.store),c(e.oldStorageCommitment,t,l.store),c(e.ad,t,ye.store);},toCell(e){return g(e,L.store)}},q={PREFIX:1548615227,create(e){return {$:"TransferCallback",...e}},fromSlice(e){return v(e,1548615227,"TransferCallback"),{$:"TransferCallback",queryId:e.loadUintBig(64),from:e.loadAddress()}},store(e,t){t.storeUint(1548615227,32),t.storeUint(e.queryId,64),t.storeAddress(e.from);},toCell(e){return g(e,q.store)}},F={PREFIX:3734057505,create(e){return {$:"InternalDeposit",...e}},fromSlice(e){return v(e,3734057505,"InternalDeposit"),{$:"InternalDeposit",queryId:e.loadUintBig(64),amount:e.loadCoins(),commitment:l.fromSlice(e),proof:u(e,T.fromSlice)}},store(e,t){t.storeUint(3734057505,32),t.storeUint(e.queryId,64),t.storeCoins(e.amount),l.store(e.commitment,t),c(e.proof,t,T.store);},toCell(e){return g(e,F.store)}},J={PREFIX:2803831470,create(e){return {$:"InitWithdraw",...e}},fromSlice(e){return v(e,2803831470,"InitWithdraw"),{$:"InitWithdraw",queryId:e.loadUintBig(64),amount:e.loadCoins(),newCommitment:u(e,l.fromSlice),proof:u(e,T.fromSlice)}},store(e,t){t.storeUint(2803831470,32),t.storeUint(e.queryId,64),t.storeCoins(e.amount),c(e.newCommitment,t,l.store),c(e.proof,t,T.store);},toCell(e){return g(e,J.store)}},N={PREFIX:3722508660,create(e){return {$:"InternalRegister",...e}},fromSlice(e){return v(e,3722508660,"InternalRegister"),{$:"InternalRegister",queryId:e.loadUintBig(64),publicViewKey:l.fromSlice(e)}},store(e,t){t.storeUint(3722508660,32),t.storeUint(e.queryId,64),l.store(e.publicViewKey,t);},toCell(e){return g(e,N.store)}},G={PREFIX:361485931,create(e){return {$:"InternalFlipWalletStatus",...e}},fromSlice(e){return v(e,361485931,"InternalFlipWalletStatus"),{$:"InternalFlipWalletStatus",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(361485931,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return g(e,G.store)}},l={create(e){return {$:"Point",...e}},fromSlice(e){return {$:"Point",x:e.loadUintBig(256),y:e.loadUintBig(256)}},store(e,t){t.storeUint(e.x,256),t.storeUint(e.y,256);},toCell(e){return g(e,l.store)}},T={fromSlice(e){return {$:"Proof",piA:e.loadRef(),piB:e.loadRef(),piC:e.loadRef()}},store(e,t){t.storeRef(e.piA),t.storeRef(e.piB),t.storeRef(e.piC);}};function Oe(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var R=class R{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new R(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??R.CodeCell,data:pe.toCell(pe.create(t))},o=Oe(n.code,n.data,r??{});return new R(o,n)}static createCellOfInternalDeposit(t){return F.toCell(F.create(t))}static createCellOfInitTransfer(t){return W.toCell(W.create(t))}static createCellOfInternalTransfer(t){return L.toCell(L.create(t))}static createCellOfTransferCallback(t){return q.toCell(q.create(t))}static createCellOfInitWithdraw(t){return J.toCell(J.create(t))}static createCellOfInternalRegister(t){return N.toCell(N.create(t))}static createCellOfInternalFlipWalletStatus(t){return G.toCell(G.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInternalDeposit(t,r,n,o,i){return t.internal(r,{value:n,body:F.toCell(F.create(o)),...i})}async sendInitTransfer(t,r,n,o,i){return t.internal(r,{value:n,body:W.toCell(W.create(o)),...i})}async sendInternalTransfer(t,r,n,o,i){return t.internal(r,{value:n,body:L.toCell(L.create(o)),...i})}async sendTransferCallback(t,r,n,o,i){return t.internal(r,{value:n,body:q.toCell(q.create(o)),...i})}async sendInitWithdraw(t,r,n,o,i){return t.internal(r,{value:n,body:J.toCell(J.create(o)),...i})}async sendInternalRegister(t,r,n,o,i){return t.internal(r,{value:n,body:N.toCell(N.create(o)),...i})}async sendInternalFlipWalletStatus(t,r,n,o,i){return t.internal(r,{value:n,body:G.toCell(G.create(o)),...i})}async getWalletData(t){let r=Ie.fromGetMethod(8,await t.get("getWalletData",[]));return {$:"WalletRuntimeStorage",locked:r.readBoolean(),minter:r.readSlice().loadAddress(),owner:r.readSlice().loadAddress(),seqNo:r.readBigInt(),publicViewKey:{$:"Point",x:r.readBigInt(),y:r.readBigInt()},commitment:{$:"Point",x:r.readBigInt(),y:r.readBigInt()}}}};R.CodeCell=f__namespace.Cell.fromBase64("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"),R.Errors={"DepositErrors.InvalidInputs":258,"TransferErrors.InvalidInputs":258,"WithdrawErrors.InvalidInputs":258,"TransferErrors.IndexOutOfRange":259,"Errors.InvalidProof":519,"Errors.InvalidAmount":3775,"Errors.AlreadyInitialized":16689,"Errors.NotAlreadyInitialized":22161,"Errors.NotEnoughGas":29432,"Errors.InvalidPoint":37828,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.PositionLocked":48515,"Errors.WrongOP":65535};var ae=R;function C(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function U(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}function Ke(e,t,r){let n=f__namespace.beginCell();r(e.ref,n),t.storeRef(n.endCell());}function He(e,t){let r=e.loadRef().beginParse();return {ref:t(r)}}function $e(e,t){t.storeSlice(e);}function Xe(e){let t=e.clone();for(e.loadBits(e.remainingBits);e.remainingRefs;)e.loadRef();return t}var le=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}readNullable(t){return this.tuple[0].type==="null"?(this.tuple.shift(),null):t(this)}};var z={PREFIX:1935855772,create(e){return {$:"JettonTransferNotification",...e}},fromSlice(e){return U(e,1935855772,"JettonTransferNotification"),{$:"JettonTransferNotification",queryId:e.loadUintBig(64),jettonAmount:e.loadCoins(),from:e.loadAddress(),forwardPayload:Xe(e)}},store(e,t){t.storeUint(1935855772,32),t.storeUint(e.queryId,64),t.storeCoins(e.jettonAmount),t.storeAddress(e.from),$e(e.forwardPayload,t);},toCell(e){return C(e,z.store)}};var Pe={fromSlice(e){return {$:"MinterStorageAdditionalData",jettonWallet:e.loadMaybeAddress()}},store(e,t){t.storeAddress(e.jettonWallet);}},we={create(e){return {$:"MinterStorage",...e}},fromSlice(e){return {$:"MinterStorage",id:e.loadUintBig(32),factory:e.loadAddress(),manager:e.loadAddress(),jettonMinter:e.loadAddress(),additionalData:He(e,Pe.fromSlice),walletCode:e.loadRef()}},store(e,t){t.storeUint(e.id,32),t.storeAddress(e.factory),t.storeAddress(e.manager),t.storeAddress(e.jettonMinter),Ke(e.additionalData,t,Pe.store),t.storeRef(e.walletCode);},toCell(e){return C(e,we.store)}},Q={PREFIX:1400795908,create(e){return {$:"InternalInitMinter",...e}},fromSlice(e){return U(e,1400795908,"InternalInitMinter"),{$:"InternalInitMinter",queryId:e.loadUintBig(64),jettonWallet:e.loadAddress(),excesses:e.loadAddress()}},store(e,t){t.storeUint(1400795908,32),t.storeUint(e.queryId,64),t.storeAddress(e.jettonWallet),t.storeAddress(e.excesses);},toCell(e){return C(e,Q.store)}},j={PREFIX:2794398274,create(e){return {$:"Register",...e}},fromSlice(e){return U(e,2794398274,"Register"),{$:"Register",queryId:e.loadUintBig(64),publicViewKey:Me.fromSlice(e)}},store(e,t){t.storeUint(2794398274,32),t.storeUint(e.queryId,64),Me.store(e.publicViewKey,t);},toCell(e){return C(e,j.store)}},O={PREFIX:935847678,create(e){return {$:"InternalWithdraw",...e}},fromSlice(e){return U(e,935847678,"InternalWithdraw"),{$:"InternalWithdraw",queryId:e.loadUintBig(64),from:e.loadAddress(),amount:e.loadCoins()}},store(e,t){t.storeUint(935847678,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),t.storeCoins(e.amount);},toCell(e){return C(e,O.store)}},K={PREFIX:265077879,create(e){return {$:"FlipWalletStatus",...e}},fromSlice(e){return U(e,265077879,"FlipWalletStatus"),{$:"FlipWalletStatus",queryId:e.loadUintBig(64),owner:e.loadAddress()}},store(e,t){t.storeUint(265077879,32),t.storeUint(e.queryId,64),t.storeAddress(e.owner);},toCell(e){return C(e,K.store)}},H={PREFIX:1216530555,create(e){return {$:"TransferSuccessfulLog",...e}},fromSlice(e){return U(e,1216530555,"TransferSuccessfulLog"),{$:"TransferSuccessfulLog",queryId:e.loadUintBig(64),from:e.loadAddress(),data:e.loadRef()}},store(e,t){t.storeUint(1216530555,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),t.storeRef(e.data);},toCell(e){return C(e,H.store)}},$={PREFIX:684114458,create(e){return {$:"InternalResetGas",...e}},fromSlice(e){return U(e,684114458,"InternalResetGas"),{$:"InternalResetGas",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(684114458,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return C(e,$.store)}},Me={create(e){return {$:"Point",...e}},fromSlice(e){return {$:"Point",x:e.loadUintBig(256),y:e.loadUintBig(256)}},store(e,t){t.storeUint(e.x,256),t.storeUint(e.y,256);},toCell(e){return C(e,Me.store)}};function Ze(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var E=class E{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new E(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??E.CodeCell,data:we.toCell(we.create(t))},o=Ze(n.code,n.data,r??{});return new E(o,n)}static createCellOfInternalInitMinter(t){return Q.toCell(Q.create(t))}static createCellOfJettonTransferNotification(t){return z.toCell(z.create(t))}static createCellOfRegister(t){return j.toCell(j.create(t))}static createCellOfInternalWithdraw(t){return O.toCell(O.create(t))}static createCellOfFlipWalletStatus(t){return K.toCell(K.create(t))}static createCellOfTransferSuccessfulLog(t){return H.toCell(H.create(t))}static createCellOfInternalResetGas(t){return $.toCell($.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInternalInitMinter(t,r,n,o,i){return t.internal(r,{value:n,body:Q.toCell(Q.create(o)),...i})}async sendJettonTransferNotification(t,r,n,o,i){return t.internal(r,{value:n,body:z.toCell(z.create(o)),...i})}async sendRegister(t,r,n,o,i){return t.internal(r,{value:n,body:j.toCell(j.create(o)),...i})}async sendInternalWithdraw(t,r,n,o,i){return t.internal(r,{value:n,body:O.toCell(O.create(o)),...i})}async sendFlipWalletStatus(t,r,n,o,i){return t.internal(r,{value:n,body:K.toCell(K.create(o)),...i})}async sendTransferSuccessfulLog(t,r,n,o,i){return t.internal(r,{value:n,body:H.toCell(H.create(o)),...i})}async sendInternalResetGas(t,r,n,o,i){return t.internal(r,{value:n,body:$.toCell($.create(o)),...i})}async getMinterData(t){let r=le.fromGetMethod(6,await t.get("getMinterData",[]));return {$:"MinterRuntimeStorage",id:r.readBigInt(),factory:r.readSlice().loadAddress(),manager:r.readSlice().loadAddress(),jettonMinter:r.readSlice().loadAddress(),jettonWallet:r.readNullable(n=>n.readSlice().loadAddress()),walletCode:r.readCell()}}async getWalletAddress(t,r){return le.fromGetMethod(1,await t.get("getWalletAddress",[{type:"slice",cell:C(r,(o,i)=>i.storeAddress(o))}])).readSlice().loadAddress()}};E.CodeCell=f__namespace.Cell.fromBase64("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"),E.Errors={"Errors.InvalidEitherBit":1598,"Errors.InvalidAmount":3775,"Errors.NotAlreadyInitialized":22161,"Errors.NotEnoughGas":29432,"Errors.InvalidPoint":37828,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.WrongOP":65535};var se=E;function b(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function Te(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}var de=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}};var Re={create(e){return {$:"FactoryStorage",...e}},fromSlice(e){return {$:"FactoryStorage",id:e.loadUintBig(32),owner:e.loadAddress(),minterCode:e.loadRef(),walletCode:e.loadRef()}},store(e,t){t.storeUint(e.id,32),t.storeAddress(e.owner),t.storeRef(e.minterCode),t.storeRef(e.walletCode);},toCell(e){return b(e,Re.store)}},X={PREFIX:3412300354,create(e){return {$:"InitMinter",...e}},fromSlice(e){return Te(e,3412300354,"InitMinter"),{$:"InitMinter",queryId:e.loadUintBig(64),minterId:e.loadUintBig(32),jettonMinter:e.loadAddress(),jettonWallet:e.loadAddress()}},store(e,t){t.storeUint(3412300354,32),t.storeUint(e.queryId,64),t.storeUint(e.minterId,32),t.storeAddress(e.jettonMinter),t.storeAddress(e.jettonWallet);},toCell(e){return b(e,X.store)}},Z={PREFIX:1403590956,create(e){return {$:"ResetGas",...e}},fromSlice(e){return Te(e,1403590956,"ResetGas"),{$:"ResetGas",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(1403590956,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return b(e,Z.store)}},_={PREFIX:1919878534,create(e){return {$:"ResetMinterGas",...e}},fromSlice(e){return Te(e,1919878534,"ResetMinterGas"),{$:"ResetMinterGas",queryId:e.loadUintBig(64),minterId:e.loadUintBig(32),jettonMinter:e.loadAddress(),manager:e.loadAddress()}},store(e,t){t.storeUint(1919878534,32),t.storeUint(e.queryId,64),t.storeUint(e.minterId,32),t.storeAddress(e.jettonMinter),t.storeAddress(e.manager);},toCell(e){return b(e,_.store)}};function _e(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var h=class h{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new h(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??h.CodeCell,data:Re.toCell(Re.create(t))},o=_e(n.code,n.data,r??{});return new h(o,n)}static createCellOfInitMinter(t){return X.toCell(X.create(t))}static createCellOfResetGas(t){return Z.toCell(Z.create(t))}static createCellOfResetMinterGas(t){return _.toCell(_.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInitMinter(t,r,n,o,i){return t.internal(r,{value:n,body:X.toCell(X.create(o)),...i})}async sendResetGas(t,r,n,o,i){return t.internal(r,{value:n,body:Z.toCell(Z.create(o)),...i})}async sendResetMinterGas(t,r,n,o,i){return t.internal(r,{value:n,body:_.toCell(_.create(o)),...i})}async getFactoryData(t){let r=de.fromGetMethod(4,await t.get("getFactoryData",[]));return {$:"FactoryRuntimeStorage",id:r.readBigInt(),owner:r.readSlice().loadAddress(),minterCode:r.readCell(),walletCode:r.readCell()}}async getMinterAddress(t,r,n,o){return de.fromGetMethod(1,await t.get("getMinterAddress",[{type:"int",value:r},{type:"slice",cell:b(n,(s,d)=>d.storeAddress(s))},{type:"slice",cell:b(o,(s,d)=>d.storeAddress(s))}])).readSlice().loadAddress()}};h.CodeCell=f__namespace.Cell.fromBase64("te6ccgECCgEAAiEAART/APSkE/S88sgLAQIBYgIDAuDQ+JHyQPiSggCVmAH6RDDy8iDXLCKdSMlkjjox1ws/7UTQ0x8x+kjUMdQx0YIAszn4kiLHBfL0yM+FCPpSghDVMnbbzwuOyz/JggiYloBw+wKDBvsA4NcsI5N4LDTjAtcsJlsckhTjAjCEDwHHAPL0BAUCAUgICQH8MdM/0x/6SPpIMO1E0NMfMfpI1NTRggCzOfiSJMcF8vSCAJWYJfpEMPLyggCVmCT6RDDy8vgobcj6VMkHyMsf+lIU+lIU+lIUzMzJyM+JiAFTEsjPhNDMzPkWzwv/gQCMzwt0EszMz5CjGwhqEss/+lLJggiYloD4J28Q+CygBgH+MdM/0x/6SPpIMO1E0NMfMfpI1NTRggCzOfiSUATHBRPy9IIJMS0AgggGGoCBcvj4l/iTpwNQBKACcPg7EqASvPL0ggCVmCT6RDDy8oIAlZgj+kQw8vL4KPiSbcj6VMkHyMsfEvpS+lIU+lIUzBPMyfiSyM+RTfnMEhXLPxP6UgcAGPiWobYJcPsCgwb7AAByE/pSycjPiYgBUyPIz4TQzMz5Fs8L/4EAjc8LdBPMzMzJggiYloD4J28Q+Cyg+Jahtglw+wKDBvsAAHG4gf7UTQ0x8x+kgx1NTR+ChtyPpUyQbIyx/6UhP6UhP6UhPMEszJAcjPhNDMzPkWyM+KAEDL/89QgAGbse7tRNDTH/pI1NTRg="),h.Errors={"Errors.NotEnoughGas":29432,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.WrongOP":65535};var ce=h;
2
- exports.CONSTANTS=A;exports.CicloneSDK=ge;exports.Factory=ce;exports.Gx=D;exports.Gy=V;exports.Hx=he;exports.Hy=De;exports.L=M;exports.Minter=se;exports.Wallet=ae;exports.add=ne;exports.commit=p;exports.d=Ue;exports.decryptNote=ie;exports.derivePub=Ae;exports.deriveViewKey=oe;exports.encryptNote=k;exports.generateWalletKeys=We;exports.mimc5perm=B;exports.mod=a;exports.modinv=ue;exports.modpow=Ve;exports.mul=x;exports.openNote=Fe;exports.r=w;exports.randomScalar=S;exports.sealNote=qe;exports.viewKeyFromSpend=Le;exports.viewNote=je;exports.walletKeysFromSpend=me;
1
+ 'use strict';var Ee=require('crypto'),b=require('path'),ke=require('snarkjs'),f=require('@ton/core');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var b__namespace=/*#__PURE__*/_interopNamespace(b);var ke__namespace=/*#__PURE__*/_interopNamespace(ke);var f__namespace=/*#__PURE__*/_interopNamespace(f);var A={FIELD_ORDER:"52435875175126190479447740508185965837690552500527637822603658699938581184513",JUBJUB_A:"52435875175126190479447740508185965837690552500527637822603658699938581184512",JUBJUB_D:"19257038036680949359750312669786877991949435402254120286184196891950884077233",JUBJUB_L:"6554484396890773809930967563523245729705921265872317281365359162392183254199",JUBJUB_L_BITS:252,GEN_Gx:"9439892453063030735323187312294193215315721624155265256041446064139063758940",GEN_Gy:"33311521361620349823095975547796540660038567460292096943848549448618019639384",GEN_Hx:"35892885103900252256502772632661230248615355824950858846864365092352335789911",GEN_Hy:"20132911724793458364359774542513101355861258122048155387360391004020604936777",MIMC_ROUNDS:110,MIMC_C:["0","15103003296285311994991196829843315048980816585203444166327140765904234277201","2855631646552958279280991863814817954891779073578526071864725683544619127111","49489489075176512800957043613012367845070793325498813954549418021382007360871","21695716502627885718936520179725298504379959493657917308721803328600734180084","18717093422378434477321030634685440693306407008976223947614833421561777370427","22459991854624568966819787279675260364992211753120823911188569238770219939980","39164374081735537272706243400380975468256665533029373415368294748656328007254","12289391154696391659986548759807111501071814715153972870862273756693400414590","21510296661205804269562709901785592831113025280057624218287347030221799730024","50893149158188039258954454914318955816677712214262455214075746444556434838445","40699247447444440027914818222867956844600434836477587518820296127338106753976","11583067579552384575172450057027685404430791813881050320075066566538403398154","2057558726145770834583134981301969911425061301627366194194791625203977494782","7134826793167471890141523578110323408233244998295210802536550134618180550936","6078497090535693158508851888200819737837060025607475272078978442802327777665","46629356917498168291829499465913517568392034518560507978220293544002048865230","37339278381857298929422023240804987004990720482473234504723505757708018867854","20461447768576640462902022034485328903427712962755857850263355830386368874019","9871504150256809292713749732352828477981187854996621958635879963877381645114","28055066328867453574974732375229334478343783501591253352469230822602091552804","966550438045935925663750495126774076152070700345227309734025057889078862118","30108629800022052202694021196377859929460725580798740253782443039198257351053","19529959410058237048730710466480003844884698707796771414193666215878736942278","49364673196825677250277202883987952462860277401977544221767930421498000704759","45611853135051404975182322318899269323882353001600337585430739185836875873699","21695938211759500029645648204433888363878338005658594110030745916219625352743","20784523902461333737760444089657468370716815976778322846390668153969120148265","47443461786173446066495163318608193980798044507383632065917221739767056847337","1811673096931711424919840007883305445474393947486927445835717108768262631760","20910367868035624656200319853664843201132604748514626878881846376369931253601","14518094248143522220129687216759189085885085988191815659475100636328075227430","35772133101832743972749438944910980802003803497276262365436978347821197246242","29144714823364790404370831939588856432419271105531171748828805322243765615940","38120255522917326268194672002454012179246074993407161133381466571047207031184","8920736496368386008293614446132181963785331702097125369515048492072690837650","4998686559923175998463010259350328243565464544732604302011900369105832798840","38646995170074744329684557576394548546403693586350630652528996743357441960661","21552248206093522811668558529771725887378013011261800801529832048264862141279","1736495064090167513146863052895191247546260473031257661816373122577239045075","21549313751781360730111590162402479116744221009735951538979498882739852526987","35192581118433497596946937272238257524062240456855744289068170205698831237264","42700211058061387359962528922639021108345312764901104244497664488612657454893","1237996939329167946521789095693327484833125021293137515793521135166604980034","33888995756958921997502233174914549708725280173031309122933477079378661568411","20665301924148669722101144869512250021122751491897382833425810961966525906756","8480660062650336997603030445935845231761124576157879436644039442927760916335","51445117922348373955960635594253753938952226848767922228713933889849361020270","35152271871220746083809060077007956182705153578422435159358814119530345198586","43076262533466253945834405191003651476975547273130924394597818073234635332135","51750613985668540898245261109932212780422124976008465667979846604142921316014","18449344230518992460868741097873874060471761038701168523820004865052188868818","34275545371587817924263108274910812738337259625930864470898125928332781261305","45506148857456226004250288532236082755299614969251631597619162716586957523000","10503687391642287964720230326997198249490467652775610353740924828559759207469","2072248748886572633465351433443511038698665657035001550921183301139451261497","7179997902220845648485640783393895696737311255579881944801371520959925429372","3515536418533380189351686234250154199849788185920597767247227967858298589048","46171734237001595080439007100152390921605507458802700995342490849846812152618","28703892301204954204735945084069004860653441443656947166842360600554829266764","42147024806380502465610355274058690830447129747150082641990093593480554434127","40969066563396384933163286365456787881003692917761396150421275783965451827185","2744184139986277399555633102014591849271705991245877211301381531668124314776","6809105985639821027464769167089559517692994766973538969832039179623118788764","42526916332339197136992204966101342323778902557693814581808201368329643107881","47367898477555649513344888015703258784704824112116267851465977817926917985508","52149217493698967124732030411965849850126131727727481355724563768072342363979","10282046293669536848128047949045457449159152560562078595626918314423212111206","38104282831626587375305070572230594581806040745573609484654403622286215425329","2132381857125014536575466985206664278130186791405077806185490245642750995607","9715756165256441413576003899214584764515826488796161806759850776281040672749","17469505807959020307566492191232309021466645546502046470681853600170213294451","51578910025890004601529967515127074541305563815419626190094013782382952516099","25376806578384700898934736167819867041133310721731132775231781759148469264235","26816608123840087721893712112335501165997460414064027285602433391071458647766","49799935161212651494105304745421258811379717093934768761004538974548304005964","27066098403968724257009469844946989728234265822542014037139909567447752575297","33630373266856175932515565774900309672340389315920771616580933630045454565293","622561109667259256229501547269068094793001686117816948029034545504150136609","49535581664372050311792989648063707098625314450433227424869506982167792310528","44624734382114259220747114506697619844726346482795888641575010921927839274055","49207313909359724933543648441749939048147039595180602955364854800415157800816","14124552281615012425057601405149339398028033237800277601031191666523400254891","11631878793419444670981925248447762731084863721698828872225502194285745163222","17006249311626259080510517712251897778396895251931479339407489243517593666855","47836849519511439764105980409378164603184853801256920812046059845514364657907","36580304968616308290658381216179885951353751818634240577619257344996861758955","27560245966222005779654222440510146514977351787199335898772264609616232737662","11237673836174136311999165320815092787813619858983672486984069711908219969786","45517624383779775342484214680588875322585867528512416326118323181527316201846","2591546198780320137912321646652470812622040974497108755569795921642637941506","47629122369327308238145608886516616246561408388961245378679951305591439162500","42232102896456887780896149238649354840416167687514636500293107566970554693617","17432279959211252257512837586735471807035784040109684142769509430817434372637","11603725323370456475476575450202487872959388003978314104278009068201124695803","39120404993454495759668681908172856380067537309932392744884241297639679309079","45463903982878444583684624947239501680582530190776445309590037812800906573019","30440678292548392883126133148846576744552906926837046696680177029789651340907","30253955304657561353204813941967483238886294842150600978897530209199473810824","6850304667631937366897932842990279755794575548210676981054011011877306353280","28861515121661092508466187938889913296091951806901947680919100570655962562040","7614622124426428478095247553232337218314768230302383829670201078933047037858","13178383305004371315847473750618929917379891360343665979087864348870926953073","51294155054276581852444719080505788611887062809942409945741835972861838436718","47945473905691864101353255404071767438110838202935093980651540814109520489291","14198375548107963048985881156136226728256423264586177722936137880114417516151","26585443846251610956247171469071754191747910659268686188185916288135421458120","24825676508294663747431688932361545585862145174250510068648420970113666514283","46335422699488226035249305414978584175742053372246294612182875733270932034996","38994544838690504598167256072038162414238197511530093899914653771167602235352"]};var w=BigInt(A.FIELD_ORDER),he=BigInt(A.JUBJUB_D),M=BigInt(A.JUBJUB_L),D=BigInt(A.GEN_Gx),V=BigInt(A.GEN_Gy),Ue=BigInt(A.GEN_Hx),De=BigInt(A.GEN_Hy),a=(e,t=w)=>(e%t+t)%t;function Ve(e,t,r=w){e=a(e,r);let n=1n;for(;t>0n;)t&1n&&(n=a(n*e,r)),e=a(e*e,r),t>>=1n;return n}var Ae=(e,t=w)=>Ve(a(e,t),t-2n,t);function oe(e,t,r,n){let o=a(e*r),i=a(t*n),s=a(e*n),d=a(t*r),y=a(he*a(o*i)),P=a(s+d),te=a(i+o),re=a(1n+y),ne=a(1n+w-y);return [a(P*Ae(re)),a(te*Ae(ne))]}function x(e,t,r){r=a(r,M);let n=0n,o=1n,i=e,s=t;for(;r>0n;)r&1n&&([n,o]=oe(n,o,i,s)),[i,s]=oe(i,s,i,s),r>>=1n;return [n,o]}function p(e,t){let[r,n]=x(D,V,e),[o,i]=x(Ue,De,t);return oe(r,n,o,i)}function fe(e){return x(D,V,e)}function S(e=252){let t=Ee__namespace.randomBytes(32),r=0n;for(let o=0;o<32;o++)r=r<<8n|BigInt(t[o]);r=a(r,M);let n=(1n<<BigInt(e))-1n;return r=r&n,r===0n&&(r=1n),r}var ze=A.MIMC_ROUNDS,je=A.MIMC_C.map(e=>BigInt(e));function B(e,t){let r=a(e);t=a(t);for(let n=0;n<ze;n++){let o=a(r+t+je[n]),i=a(o*o),s=a(i*i);r=a(s*o);}return a(r+t)}var be=1n,Ye=2n,Ge=7n;function ie(e){let t=a(B(Ge,a(e)),M);return t===0n&&(t=1n),{skView:t,pkView:x(D,V,t)}}function W(e,t,r,n,o){let[i,s]=x(D,V,o),[d]=x(r,n,o),y=B(be,d),P=B(Ye,d);return {Rx:i,Ry:s,enc_amount:a(e+y),enc_blind:a(t+P),eph_scalar:o,shared_x:d}}function ae(e,t,r,n,o){let[i]=x(t,r,e),s=B(be,i),d=B(Ye,i);return {amount:a(n+w-s),amountBlind:a(o+w-d)}}function Qe(e,t,r,n){let{amount:o,amountBlind:i}=ae(e,t.Rx,t.Ry,t.enc_amount,t.enc_blind),[s,d]=p(o,i);return {amount:o,amountBlind:i,valid:s===r&&d===n}}var ge=class e{constructor(t){this.cfg=t;}static fromBuildDir(t){let r=n=>({wasm:b__namespace.join(t,n,`${n}_js`,`${n}.wasm`),zkey:b__namespace.join(t,n,`${n}_final.zkey`)});return new e({deposit:r("deposit"),withdraw:r("withdraw"),transfer:r("transfer")})}static bundled(){let t=b__namespace.join(__dirname,"..","artifacts"),r=n=>({wasm:b__namespace.join(t,n,`${n}.wasm`),zkey:b__namespace.join(t,n,`${n}_final.zkey`)});return new e({deposit:r("deposit"),withdraw:r("withdraw"),transfer:r("transfer")})}prove(t,r){return ke__namespace.groth16.fullProve(r,t.wasm,t.zkey)}async deposit(t){let r=t.blinding??S(252),[n,o]=p(t.amount,r),{proof:i,publicSignals:s}=await this.prove(this.cfg.deposit,{amount:t.amount.toString(),commitment_x:n.toString(),commitment_y:o.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),blinding:r.toString()});return {proof:i,publicSignals:s,commitment:[n,o],blinding:r}}async withdraw(t){let r=t.newBlind??S(252),n=t.balance-t.amount,[o,i]=p(t.balance,t.oldBlind),[s,d]=p(n,r),{proof:y,publicSignals:P}=await this.prove(this.cfg.withdraw,{amount:t.amount.toString(),old_commitment_x:o.toString(),old_commitment_y:i.toString(),new_commitment_x:s.toString(),new_commitment_y:d.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),balance:t.balance.toString(),old_blind:t.oldBlind.toString(),new_blind:r.toString()});return {proof:y,publicSignals:P,newCommitment:[s,d],remainder:n,newBlind:r}}async transfer(t){let r=t.senderNewBlind??S(252),n=t.senderBalance-t.amount,o=t.amountBlind??a(t.senderOldBlind-r+M,M),i=t.ephScalar??S(252),[s,d]=p(t.senderBalance,t.senderOldBlind),[y,P]=p(n,r),[te,re]=p(t.amount,o),[ne,ve]=t.receiverViewPk,k=W(t.amount,o,ne,ve,i),{proof:Je,publicSignals:Ne}=await this.prove(this.cfg.transfer,{old_sender_cx:s.toString(),old_sender_cy:d.toString(),new_sender_cx:y.toString(),new_sender_cy:P.toString(),amount_commit_x:te.toString(),amount_commit_y:re.toString(),receiver_view_pk_x:ne.toString(),receiver_view_pk_y:ve.toString(),ephemeral_x:k.Rx.toString(),ephemeral_y:k.Ry.toString(),enc_amount:k.enc_amount.toString(),enc_blind:k.enc_blind.toString(),seqNo:t.seqNo.toString(),account_id:t.accountId.toString(),sender_balance:t.senderBalance.toString(),sender_old_blind:t.senderOldBlind.toString(),sender_new_blind:r.toString(),amount:t.amount.toString(),amount_blind:o.toString(),eph_scalar:i.toString()});return {proof:Je,publicSignals:Ne,newSenderCommitment:[y,P],amountCommitment:[te,re],note:k,remainder:n,senderNewBlind:r,amountBlind:o,ephScalar:i}}};function We(){return me(S(252))}function me(e){let{skView:t,pkView:r}=ie(e);return {spendSk:e,spendPk:fe(e),viewSk:t,viewPk:r}}function Le(e){let{skView:t,pkView:r}=ie(e);return {viewSk:t,viewPk:r}}function qe(e){let t=e.ephScalar??S(252);return W(e.amount,e.amountBlind,e.receiverViewPk[0],e.receiverViewPk[1],t)}function Fe(e,t){return ae(e,t.Rx,t.Ry,t.enc_amount,t.enc_blind)}function g(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function v(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}function c(e,t,r){let n=f__namespace.beginCell();r(e.ref,n),t.storeRef(n.endCell());}function u(e,t){let r=e.loadRef().beginParse();return {ref:t(r)}}var Ie=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}};var pe={create(e){return {$:"WalletStorage",locked:false,seqNo:0n,...e}},fromSlice(e){return {$:"WalletStorage",locked:e.loadBoolean(),minter:e.loadAddress(),owner:e.loadAddress(),seqNo:e.loadUintBig(32),publicViewKey:u(e,l.fromSlice),commitment:u(e,l.fromSlice)}},store(e,t){t.storeBit(e.locked),t.storeAddress(e.minter),t.storeAddress(e.owner),t.storeUint(e.seqNo,32),c(e.publicViewKey,t,l.store),c(e.commitment,t,l.store);},toCell(e){return g(e,pe.store)}},Se={fromSlice(e){return {$:"TransferAdditionalData",ephemeral:l.fromSlice(e),encAmount:e.loadUintBig(256),encBlind:u(e,t=>t.loadUintBig(256))}},store(e,t){l.store(e.ephemeral,t),t.storeUint(e.encAmount,256),c(e.encBlind,t,(r,n)=>n.storeUint(r,256));}},L={PREFIX:2288014764,create(e){return {$:"InitTransfer",...e}},fromSlice(e){return v(e,2288014764,"InitTransfer"),{$:"InitTransfer",queryId:e.loadUintBig(64),to:e.loadAddress(),receiverViewKey:l.fromSlice(e),newCommitment:u(e,l.fromSlice),amountCommit:u(e,l.fromSlice),proof:u(e,T.fromSlice),ad:u(e,Se.fromSlice)}},store(e,t){t.storeUint(2288014764,32),t.storeUint(e.queryId,64),t.storeAddress(e.to),l.store(e.receiverViewKey,t),c(e.newCommitment,t,l.store),c(e.amountCommit,t,l.store),c(e.proof,t,T.store),c(e.ad,t,Se.store);},toCell(e){return g(e,L.store)}},ye={fromSlice(e){return {$:"InternalTransferAdditionalData",ephemeral:l.fromSlice(e),encBlind:e.loadUintBig(256)}},store(e,t){l.store(e.ephemeral,t),t.storeUint(e.encBlind,256);}},q={PREFIX:3257735840,create(e){return {$:"InternalTransfer",...e}},fromSlice(e){return v(e,3257735840,"InternalTransfer"),{$:"InternalTransfer",queryId:e.loadUintBig(64),from:e.loadAddress(),receiverViewKey:l.fromSlice(e),encAmount:u(e,t=>t.loadUintBig(256)),amountCommit:u(e,l.fromSlice),oldStorageCommitment:u(e,l.fromSlice),ad:u(e,ye.fromSlice)}},store(e,t){t.storeUint(3257735840,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),l.store(e.receiverViewKey,t),c(e.encAmount,t,(r,n)=>n.storeUint(r,256)),c(e.amountCommit,t,l.store),c(e.oldStorageCommitment,t,l.store),c(e.ad,t,ye.store);},toCell(e){return g(e,q.store)}},F={PREFIX:1548615227,create(e){return {$:"TransferCallback",...e}},fromSlice(e){return v(e,1548615227,"TransferCallback"),{$:"TransferCallback",queryId:e.loadUintBig(64),from:e.loadAddress()}},store(e,t){t.storeUint(1548615227,32),t.storeUint(e.queryId,64),t.storeAddress(e.from);},toCell(e){return g(e,F.store)}},J={PREFIX:3734057505,create(e){return {$:"InternalDeposit",...e}},fromSlice(e){return v(e,3734057505,"InternalDeposit"),{$:"InternalDeposit",queryId:e.loadUintBig(64),amount:e.loadCoins(),commitment:l.fromSlice(e),proof:u(e,T.fromSlice)}},store(e,t){t.storeUint(3734057505,32),t.storeUint(e.queryId,64),t.storeCoins(e.amount),l.store(e.commitment,t),c(e.proof,t,T.store);},toCell(e){return g(e,J.store)}},N={PREFIX:2803831470,create(e){return {$:"InitWithdraw",...e}},fromSlice(e){return v(e,2803831470,"InitWithdraw"),{$:"InitWithdraw",queryId:e.loadUintBig(64),amount:e.loadCoins(),newCommitment:u(e,l.fromSlice),proof:u(e,T.fromSlice)}},store(e,t){t.storeUint(2803831470,32),t.storeUint(e.queryId,64),t.storeCoins(e.amount),c(e.newCommitment,t,l.store),c(e.proof,t,T.store);},toCell(e){return g(e,N.store)}},z={PREFIX:3722508660,create(e){return {$:"InternalRegister",...e}},fromSlice(e){return v(e,3722508660,"InternalRegister"),{$:"InternalRegister",queryId:e.loadUintBig(64),publicViewKey:l.fromSlice(e)}},store(e,t){t.storeUint(3722508660,32),t.storeUint(e.queryId,64),l.store(e.publicViewKey,t);},toCell(e){return g(e,z.store)}},j={PREFIX:361485931,create(e){return {$:"InternalFlipWalletStatus",...e}},fromSlice(e){return v(e,361485931,"InternalFlipWalletStatus"),{$:"InternalFlipWalletStatus",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(361485931,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return g(e,j.store)}},l={create(e){return {$:"Point",...e}},fromSlice(e){return {$:"Point",x:e.loadUintBig(256),y:e.loadUintBig(256)}},store(e,t){t.storeUint(e.x,256),t.storeUint(e.y,256);},toCell(e){return g(e,l.store)}},T={fromSlice(e){return {$:"Proof",piA:e.loadRef(),piB:e.loadRef(),piC:e.loadRef()}},store(e,t){t.storeRef(e.piA),t.storeRef(e.piB),t.storeRef(e.piC);}};function Oe(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var R=class R{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new R(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??R.CodeCell,data:pe.toCell(pe.create(t))},o=Oe(n.code,n.data,r??{});return new R(o,n)}static createCellOfInternalDeposit(t){return J.toCell(J.create(t))}static createCellOfInitTransfer(t){return L.toCell(L.create(t))}static createCellOfInternalTransfer(t){return q.toCell(q.create(t))}static createCellOfTransferCallback(t){return F.toCell(F.create(t))}static createCellOfInitWithdraw(t){return N.toCell(N.create(t))}static createCellOfInternalRegister(t){return z.toCell(z.create(t))}static createCellOfInternalFlipWalletStatus(t){return j.toCell(j.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInternalDeposit(t,r,n,o,i){return t.internal(r,{value:n,body:J.toCell(J.create(o)),...i})}async sendInitTransfer(t,r,n,o,i){return t.internal(r,{value:n,body:L.toCell(L.create(o)),...i})}async sendInternalTransfer(t,r,n,o,i){return t.internal(r,{value:n,body:q.toCell(q.create(o)),...i})}async sendTransferCallback(t,r,n,o,i){return t.internal(r,{value:n,body:F.toCell(F.create(o)),...i})}async sendInitWithdraw(t,r,n,o,i){return t.internal(r,{value:n,body:N.toCell(N.create(o)),...i})}async sendInternalRegister(t,r,n,o,i){return t.internal(r,{value:n,body:z.toCell(z.create(o)),...i})}async sendInternalFlipWalletStatus(t,r,n,o,i){return t.internal(r,{value:n,body:j.toCell(j.create(o)),...i})}async getWalletData(t){let r=Ie.fromGetMethod(8,await t.get("getWalletData",[]));return {$:"WalletRuntimeStorage",locked:r.readBoolean(),minter:r.readSlice().loadAddress(),owner:r.readSlice().loadAddress(),seqNo:r.readBigInt(),publicViewKey:{$:"Point",x:r.readBigInt(),y:r.readBigInt()},commitment:{$:"Point",x:r.readBigInt(),y:r.readBigInt()}}}};R.CodeCell=f__namespace.Cell.fromBase64("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"),R.Errors={"DepositErrors.InvalidInputs":258,"TransferErrors.InvalidInputs":258,"WithdrawErrors.InvalidInputs":258,"TransferErrors.IndexOutOfRange":259,"Errors.InvalidProof":519,"Errors.InvalidAmount":3775,"Errors.AlreadyInitialized":16689,"Errors.NotAlreadyInitialized":22161,"Errors.NotEnoughGas":29432,"Errors.InvalidPoint":37828,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.PositionLocked":48515,"Errors.WrongOP":65535};var le=R;function C(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function h(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}function Ke(e,t,r){let n=f__namespace.beginCell();r(e.ref,n),t.storeRef(n.endCell());}function $e(e,t){let r=e.loadRef().beginParse();return {ref:t(r)}}function He(e,t){t.storeSlice(e);}function Xe(e){let t=e.clone();for(e.loadBits(e.remainingBits);e.remainingRefs;)e.loadRef();return t}var se=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}readNullable(t){return this.tuple[0].type==="null"?(this.tuple.shift(),null):t(this)}};var G={PREFIX:1935855772,create(e){return {$:"JettonTransferNotification",...e}},fromSlice(e){return h(e,1935855772,"JettonTransferNotification"),{$:"JettonTransferNotification",queryId:e.loadUintBig(64),jettonAmount:e.loadCoins(),from:e.loadAddress(),forwardPayload:Xe(e)}},store(e,t){t.storeUint(1935855772,32),t.storeUint(e.queryId,64),t.storeCoins(e.jettonAmount),t.storeAddress(e.from),He(e.forwardPayload,t);},toCell(e){return C(e,G.store)}};var Pe={fromSlice(e){return {$:"MinterStorageAdditionalData",jettonWallet:e.loadMaybeAddress()}},store(e,t){t.storeAddress(e.jettonWallet);}},we={create(e){return {$:"MinterStorage",...e}},fromSlice(e){return {$:"MinterStorage",id:e.loadUintBig(32),factory:e.loadAddress(),manager:e.loadAddress(),jettonMinter:e.loadAddress(),additionalData:$e(e,Pe.fromSlice),walletCode:e.loadRef()}},store(e,t){t.storeUint(e.id,32),t.storeAddress(e.factory),t.storeAddress(e.manager),t.storeAddress(e.jettonMinter),Ke(e.additionalData,t,Pe.store),t.storeRef(e.walletCode);},toCell(e){return C(e,we.store)}},Q={PREFIX:1400795908,create(e){return {$:"InternalInitMinter",...e}},fromSlice(e){return h(e,1400795908,"InternalInitMinter"),{$:"InternalInitMinter",queryId:e.loadUintBig(64),jettonWallet:e.loadAddress(),excesses:e.loadAddress()}},store(e,t){t.storeUint(1400795908,32),t.storeUint(e.queryId,64),t.storeAddress(e.jettonWallet),t.storeAddress(e.excesses);},toCell(e){return C(e,Q.store)}},O={PREFIX:2794398274,create(e){return {$:"Register",...e}},fromSlice(e){return h(e,2794398274,"Register"),{$:"Register",queryId:e.loadUintBig(64),publicViewKey:Me.fromSlice(e)}},store(e,t){t.storeUint(2794398274,32),t.storeUint(e.queryId,64),Me.store(e.publicViewKey,t);},toCell(e){return C(e,O.store)}},K={PREFIX:935847678,create(e){return {$:"InternalWithdraw",...e}},fromSlice(e){return h(e,935847678,"InternalWithdraw"),{$:"InternalWithdraw",queryId:e.loadUintBig(64),from:e.loadAddress(),amount:e.loadCoins()}},store(e,t){t.storeUint(935847678,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),t.storeCoins(e.amount);},toCell(e){return C(e,K.store)}},$={PREFIX:265077879,create(e){return {$:"FlipWalletStatus",...e}},fromSlice(e){return h(e,265077879,"FlipWalletStatus"),{$:"FlipWalletStatus",queryId:e.loadUintBig(64),owner:e.loadAddress()}},store(e,t){t.storeUint(265077879,32),t.storeUint(e.queryId,64),t.storeAddress(e.owner);},toCell(e){return C(e,$.store)}},H={PREFIX:1216530555,create(e){return {$:"TransferSuccessfulLog",...e}},fromSlice(e){return h(e,1216530555,"TransferSuccessfulLog"),{$:"TransferSuccessfulLog",queryId:e.loadUintBig(64),from:e.loadAddress(),data:e.loadRef()}},store(e,t){t.storeUint(1216530555,32),t.storeUint(e.queryId,64),t.storeAddress(e.from),t.storeRef(e.data);},toCell(e){return C(e,H.store)}},X={PREFIX:684114458,create(e){return {$:"InternalResetGas",...e}},fromSlice(e){return h(e,684114458,"InternalResetGas"),{$:"InternalResetGas",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(684114458,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return C(e,X.store)}},Me={create(e){return {$:"Point",...e}},fromSlice(e){return {$:"Point",x:e.loadUintBig(256),y:e.loadUintBig(256)}},store(e,t){t.storeUint(e.x,256),t.storeUint(e.y,256);},toCell(e){return C(e,Me.store)}};function _e(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var E=class E{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new E(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??E.CodeCell,data:we.toCell(we.create(t))},o=_e(n.code,n.data,r??{});return new E(o,n)}static createCellOfInternalInitMinter(t){return Q.toCell(Q.create(t))}static createCellOfJettonTransferNotification(t){return G.toCell(G.create(t))}static createCellOfRegister(t){return O.toCell(O.create(t))}static createCellOfInternalWithdraw(t){return K.toCell(K.create(t))}static createCellOfFlipWalletStatus(t){return $.toCell($.create(t))}static createCellOfTransferSuccessfulLog(t){return H.toCell(H.create(t))}static createCellOfInternalResetGas(t){return X.toCell(X.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInternalInitMinter(t,r,n,o,i){return t.internal(r,{value:n,body:Q.toCell(Q.create(o)),...i})}async sendJettonTransferNotification(t,r,n,o,i){return t.internal(r,{value:n,body:G.toCell(G.create(o)),...i})}async sendRegister(t,r,n,o,i){return t.internal(r,{value:n,body:O.toCell(O.create(o)),...i})}async sendInternalWithdraw(t,r,n,o,i){return t.internal(r,{value:n,body:K.toCell(K.create(o)),...i})}async sendFlipWalletStatus(t,r,n,o,i){return t.internal(r,{value:n,body:$.toCell($.create(o)),...i})}async sendTransferSuccessfulLog(t,r,n,o,i){return t.internal(r,{value:n,body:H.toCell(H.create(o)),...i})}async sendInternalResetGas(t,r,n,o,i){return t.internal(r,{value:n,body:X.toCell(X.create(o)),...i})}async getMinterData(t){let r=se.fromGetMethod(6,await t.get("getMinterData",[]));return {$:"MinterRuntimeStorage",id:r.readBigInt(),factory:r.readSlice().loadAddress(),manager:r.readSlice().loadAddress(),jettonMinter:r.readSlice().loadAddress(),jettonWallet:r.readNullable(n=>n.readSlice().loadAddress()),walletCode:r.readCell()}}async getWalletAddress(t,r){return se.fromGetMethod(1,await t.get("getWalletAddress",[{type:"slice",cell:C(r,(o,i)=>i.storeAddress(o))}])).readSlice().loadAddress()}};E.CodeCell=f__namespace.Cell.fromBase64("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"),E.Errors={"Errors.InvalidEitherBit":1598,"Errors.InvalidAmount":3775,"Errors.NotAlreadyInitialized":22161,"Errors.NotEnoughGas":29432,"Errors.InvalidPoint":37828,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.WrongOP":65535};var de=E;function Y(e,t){let r=f.beginCell();return t(e,r),r.endCell()}function Te(e,t,r){let n=e.loadUint(32);if(n!==t)throw new Error(`Incorrect prefix for '${r}': expected 0x${t.toString(16).padStart(8,"0")}, got 0x${n.toString(16).padStart(8,"0")}`)}var ce=class e{constructor(t){this.tuple=t;}static fromGetMethod(t,r){let n=[];for(;r.stack.remaining;)n.push(r.stack.pop());if(n.length!==t)throw new Error(`expected ${t} stack width, got ${n.length}`);return new e(n)}popExpecting(t){let r=this.tuple.shift();if(r?.type===t)return r;throw new Error(`not '${t}' on a stack`)}popCellLike(){let t=this.tuple.shift();if(t&&(t.type==="cell"||t.type==="slice"||t.type==="builder"))return t.cell;throw new Error("not cell/slice on a stack")}readBigInt(){return this.popExpecting("int").value}readBoolean(){return this.popExpecting("int").value!==0n}readCell(){return this.popCellLike()}readSlice(){return this.popCellLike().beginParse()}};var Re={create(e){return {$:"FactoryStorage",...e}},fromSlice(e){return {$:"FactoryStorage",id:e.loadUintBig(32),owner:e.loadAddress(),minterCode:e.loadRef(),walletCode:e.loadRef()}},store(e,t){t.storeUint(e.id,32),t.storeAddress(e.owner),t.storeRef(e.minterCode),t.storeRef(e.walletCode);},toCell(e){return Y(e,Re.store)}},_={PREFIX:3412300354,create(e){return {$:"InitMinter",...e}},fromSlice(e){return Te(e,3412300354,"InitMinter"),{$:"InitMinter",queryId:e.loadUintBig(64),minterId:e.loadUintBig(32),jettonMinter:e.loadAddress(),jettonWallet:e.loadAddress()}},store(e,t){t.storeUint(3412300354,32),t.storeUint(e.queryId,64),t.storeUint(e.minterId,32),t.storeAddress(e.jettonMinter),t.storeAddress(e.jettonWallet);},toCell(e){return Y(e,_.store)}},Z={PREFIX:1403590956,create(e){return {$:"ResetGas",...e}},fromSlice(e){return Te(e,1403590956,"ResetGas"),{$:"ResetGas",queryId:e.loadUintBig(64),excess:e.loadAddress()}},store(e,t){t.storeUint(1403590956,32),t.storeUint(e.queryId,64),t.storeAddress(e.excess);},toCell(e){return Y(e,Z.store)}},ee={PREFIX:1919878534,create(e){return {$:"ResetMinterGas",...e}},fromSlice(e){return Te(e,1919878534,"ResetMinterGas"),{$:"ResetMinterGas",queryId:e.loadUintBig(64),minterId:e.loadUintBig(32),jettonMinter:e.loadAddress(),manager:e.loadAddress()}},store(e,t){t.storeUint(1919878534,32),t.storeUint(e.queryId,64),t.storeUint(e.minterId,32),t.storeAddress(e.jettonMinter),t.storeAddress(e.manager);},toCell(e){return Y(e,ee.store)}};function Ze(e,t,r){let n=f.beginCell().store(f__namespace.storeStateInit({code:e,data:t,splitDepth:r.toShard?.fixedPrefixLength,special:null,libraries:null})).endCell(),o=n.hash();if(r.toShard){let i=r.toShard.fixedPrefixLength;o=f.beginCell().storeBits(new f__namespace.BitString(r.toShard.closeTo.hash,0,i)).storeBits(new f__namespace.BitString(n.hash(),i,256-i)).endCell().beginParse().loadBuffer(32);}return new f__namespace.Address(r.workchain??0,o)}var U=class U{constructor(t,r){this.address=t,this.init=r;}static fromAddress(t){return new U(t)}static fromStorage(t,r){let n={code:r?.overrideContractCode??U.CodeCell,data:Re.toCell(Re.create(t))},o=Ze(n.code,n.data,r??{});return new U(o,n)}static createCellOfInitMinter(t){return _.toCell(_.create(t))}static createCellOfResetGas(t){return Z.toCell(Z.create(t))}static createCellOfResetMinterGas(t){return ee.toCell(ee.create(t))}async sendDeploy(t,r,n,o){return t.internal(r,{value:n,body:f__namespace.Cell.EMPTY,...o})}async sendInitMinter(t,r,n,o,i){return t.internal(r,{value:n,body:_.toCell(_.create(o)),...i})}async sendResetGas(t,r,n,o,i){return t.internal(r,{value:n,body:Z.toCell(Z.create(o)),...i})}async sendResetMinterGas(t,r,n,o,i){return t.internal(r,{value:n,body:ee.toCell(ee.create(o)),...i})}async getFactoryData(t){let r=ce.fromGetMethod(4,await t.get("getFactoryData",[]));return {$:"FactoryRuntimeStorage",id:r.readBigInt(),owner:r.readSlice().loadAddress(),minterCode:r.readCell(),walletCode:r.readCell()}}async getMinterAddress(t,r,n,o){return ce.fromGetMethod(1,await t.get("getMinterAddress",[{type:"int",value:r},{type:"slice",cell:Y(n,(s,d)=>d.storeAddress(s))},{type:"slice",cell:Y(o,(s,d)=>d.storeAddress(s))}])).readSlice().loadAddress()}};U.CodeCell=f__namespace.Cell.fromBase64("te6ccgECCgEAAiEAART/APSkE/S88sgLAQIBYgIDAuDQ+JHyQPiSggCVmAH6RDDy8iDXLCKdSMlkjjox1ws/7UTQ0x8x+kjUMdQx0YIAszn4kiLHBfL0yM+FCPpSghDVMnbbzwuOyz/JggiYloBw+wKDBvsA4NcsI5N4LDTjAtcsJlsckhTjAjCEDwHHAPL0BAUCAUgICQH8MdM/0x/6SPpIMO1E0NMfMfpI1NTRggCzOfiSJMcF8vSCAJWYJfpEMPLyggCVmCT6RDDy8vgobcj6VMkHyMsf+lIU+lIU+lIUzMzJyM+JiAFTEsjPhNDMzPkWzwv/gQCMzwt0EszMz5CjGwhqEss/+lLJggiYloD4J28Q+CygBgH+MdM/0x/6SPpIMO1E0NMfMfpI1NTRggCzOfiSUATHBRPy9IIJMS0AgggGGoCBcvj4l/iTpwNQBKACcPg7EqASvPL0ggCVmCT6RDDy8oIAlZgj+kQw8vL4KPiSbcj6VMkHyMsfEvpS+lIU+lIUzBPMyfiSyM+RTfnMEhXLPxP6UgcAGPiWobYJcPsCgwb7AAByE/pSycjPiYgBUyPIz4TQzMz5Fs8L/4EAjc8LdBPMzMzJggiYloD4J28Q+Cyg+Jahtglw+wKDBvsAAHG4gf7UTQ0x8x+kgx1NTR+ChtyPpUyQbIyx/6UhP6UhP6UhPMEszJAcjPhNDMzPkWyM+KAEDL/89QgAGbse7tRNDTH/pI1NTRg="),U.Errors={"Errors.NotEnoughGas":29432,"Errors.InvalidWorkchain":38296,"Errors.WrongSender":45881,"Errors.WrongOP":65535};var ue=U;
2
+ exports.CONSTANTS=A;exports.CicloneSDK=ge;exports.Factory=ue;exports.Gx=D;exports.Gy=V;exports.Hx=Ue;exports.Hy=De;exports.L=M;exports.Minter=de;exports.Wallet=le;exports.add=oe;exports.commit=p;exports.d=he;exports.decryptNote=ae;exports.derivePub=fe;exports.deriveViewKey=ie;exports.encryptNote=W;exports.generateWalletKeys=We;exports.mimc5perm=B;exports.mod=a;exports.modinv=Ae;exports.modpow=Ve;exports.mul=x;exports.openNote=Fe;exports.r=w;exports.randomScalar=S;exports.sealNote=qe;exports.viewKeyFromSpend=Le;exports.viewNote=Qe;exports.walletKeysFromSpend=me;
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@ciclonecash/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Ciclone.cash V1 SDK",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
9
- "dist"
9
+ "dist",
10
+ "artifacts"
10
11
  ],
11
12
  "scripts": {
12
13
  "build": "tsup && node scripts/minify-dts.cjs",