@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 +25 -53
- package/artifacts/README.md +22 -0
- package/artifacts/deposit/deposit.wasm +0 -0
- package/artifacts/deposit/deposit_final.zkey +0 -0
- package/artifacts/transfer/transfer.wasm +0 -0
- package/artifacts/transfer/transfer_final.zkey +0 -0
- package/artifacts/withdraw/withdraw.wasm +0 -0
- package/artifacts/withdraw/withdraw_final.zkey +0 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,83 +1,55 @@
|
|
|
1
|
-
# ciclone
|
|
1
|
+
# ciclone.cash SDK
|
|
2
2
|
|
|
3
3
|
SDK to build **Groth16 proofs** for the Ciclone `deposit` / `withdraw` / `transfer`
|
|
4
|
-
circuits, plus the curve
|
|
5
|
-
|
|
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
|
|
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
|
|
18
|
-
|
|
19
|
-
|
|
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
|
|
20
|
+
import { CicloneSDK, deriveViewKey } from "@ciclonecash/sdk";
|
|
23
21
|
|
|
24
|
-
//
|
|
25
|
-
const sdk = CicloneSDK.
|
|
22
|
+
// Artifacts bundled in the package (Node):
|
|
23
|
+
const sdk = CicloneSDK.bundled();
|
|
26
24
|
|
|
27
|
-
// …or
|
|
28
|
-
// const sdk =
|
|
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
|
-
|
|
29
|
+
const w = await sdk.withdraw({ amount: 400n, balance: 1000n, oldBlind, accountId: 7n, seqNo: 2n });
|
|
37
30
|
|
|
38
|
-
|
|
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`
|
|
55
|
-
verifier)
|
|
56
|
-
|
|
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
|
-
|
|
42
|
+
Receiving side, with `sk_view`:
|
|
59
43
|
|
|
60
44
|
```ts
|
|
61
|
-
import { viewNote } from "
|
|
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 }
|
|
47
|
+
// → { amount, amountBlind, valid }
|
|
66
48
|
```
|
|
67
49
|
|
|
68
|
-
##
|
|
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
|
-
- **
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
|
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("te6ccgECFwEABl8AART/APSkE/S88sgLAQIBYgIDAgLOBAUCASAVFgIBIAYHAfVO2i7fvTANdM0IEOvyTCAPL0VHQyjlUx+JJtyM+EQCPPCx/PUCTIz5A+KfqWGMs/UAb6Ahb6UhP6VBT0AM+EIBLOycjPhYgS+lJxzwtuzMmCCJiWgPgnbxD4LKD4lqG2CXD7AoMG+wD4D/Lw7eO6c3/tEYrtQe3xAfL/gSBJE+JHyQPiSggCVmAH6RDDy8iDXLCB+ZiO84wLXLCKb85gk4wLXLCObFoTknDHTP/oA+kjxgALaUODXLCFGNhDU4wLXLCG+Pzf0gCAkKCwBVFy+kaHgAYLwc+2nUymdfUgzOdgICaHYBVO9pAL//lv+/////wAAAAGgooAH+MdM/+kgw7UTQ0x8x+kgx+kj6SDHU1NEB0PpQ0YIAszn4klAExwUT8vSBVpECbrMS8vSCAJWYIvpEMPLyggkxLQCCCAYagIFy+PiX+JOnA1AEoAJw+DsSoBK88vT4KHDIy/9wzwv/yXDIy/9xzwv/ycjPgRP6UhT6Us+QAAAAAgwAzjHTP/pI+kgw7UTQ0x/6SPpI+kjU1NEB0PpQMdGCALM5+JIlxwXy9AbI+lTJBMjLHxP6UvpS+lLMEszJ7VTIz4WI+lKCENUydtvPC47LP8mCCJiWgPgnbxD4LKD4lqG2CXD7AoMG+wAAjDHTP/pIMO1E0NMfMfpI+kgx+kgx1NQx0dD6UDHRggCzOfiSWMcF8vTIz4WI+lKCENUydtvPC47LP8mCCJiWgHD7AoMG+wAC/OMC1ywiRBZD3I5rMdM/MfpIMO1E0NMfMfpIMfpIMfpIMdTU0QHQ+lDR+ChwyMv/cM8L/8lwyMv/cc8L/8nIz4ET+lIV+lLPkAAAAAIUzBPMyQHIz4TQzMz5FsjPigBAy//PUIIAszn4kljHBfL0gVaRAW6z8vTg1ywlNHkSFA0OAIwTzBLMyfiSyM+JiAFTI8jPhNDMzPkWzwv/gQCMzwt0E8zMz5BWL1muEss/+lLJggiYloD4J28Q+Cyg+Jahtglw+wKDBvsAAfwx0z/6SPoAMO1E0NMfMfpIMfpIMfpIMdTU0QHQ+lDR+ChwyMv/cM8L/8lwyMv/cc8L/8kmyM+BFPpSE/pSz5AAAAACzMzJWMjPhNDMzPkWyM+KAEDL/89QggCzOfiSWMcF8vSBVpEhbrPy9G2LSAAAAAHIz5A+KfqWFss/UAMPAfyO8zHTP9P/1wv/7UTQ0x8x+kgx+kgx+kgx1NTRAdD6UNGBVpEBbrPy9IIAk8QjkXCVIsAAwwDis/L0ggCTxILwc+2nUymdfUgzOdgICaHYBVO9pAL//lv+/////wAAAAFUdECpjDFUdEGpjDFUcQKpjDEC8AHgMIQPAccA8vQQAGz6AlIw+lIT+lT0AM+EIBLOycjPhYgS+lJxzwtuzMmCCJiWgPgnbxD4LKD4lqG2CXD7AoMG+wAB/oLwKpMY50v6K0j1/ZIH5r1/1Cktf203V50mAQZf1tY0PrFAA6mMMfABwAHy9IIJMS0AgggGGoCBcvj4l/iTpwNQBKACcPg7EqASvPL0+Cj4knDIy/9wzwv/yXDIy/9xzwv/ycjPgRT6UhL6Us+QAAAAAszMycjPk3eD5dIVyz8RAHYTy//L/8nIz4mIAV3Iz4TQzMz5Fs8L/4EAjc8LdBLMEszMyYIImJaA+CdvEPgsoPiWobYJcPsCgwb7AAL8AcAB8uY+ggCVmCL6RDDy8tP/0//XTO1E0NMfMfpIMfpIMfpIMdTU0QHQ+lDRgVaRIW6z8vSCALM5+JJYxwXy9IIJMS0AgggGGoCBcvj4l/iTpwNQBKACcPg7EqASvPL0+ChwyMv/cM8L/8lwyMv/cc8L/8nIz4ET+lIX+lKJExQACAAAAAAAqM8WFswVzMnIz5N6RMiGF8s/UAX6AhLL/8v/EszJyM+JiAFdyM+E0MzM+RbPC/+BAI3PC3QSzBLMzMmCCJiWgPgnbxD4LKD4lqG2CXD7AoMG+wDbMQCpv9HXaiaGmPmP0kGP0kGP0kGOpqaIDofSgY6PwUOGRl/7hnhf/kuGRl/7jnhf/k5GfAif0pCn0pZ8gAAAABCeYJZmSA5GfCaGZmfItkZ8UAIGX/56hAAtvE4XaiaGmP/SR9JH0kampogOh9KGiAw="),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=
|
|
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.
|
|
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",
|