@fatsolutions/privacy-pools-core-starknet-sdk 0.0.43 → 0.0.45
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/dist/abis/ERC20.abi.js +145 -145
- package/dist/abis/EntryPoint.abi.d.ts +44 -21
- package/dist/abis/EntryPoint.abi.js +267 -235
- package/dist/abis/EntryPoint.abi.js.map +1 -1
- package/dist/abis/PrivacyPool.abi.d.ts +72 -11
- package/dist/abis/PrivacyPool.abi.js +227 -145
- package/dist/abis/PrivacyPool.abi.js.map +1 -1
- package/dist/account.service.d.ts +16 -0
- package/dist/account.service.js +31 -0
- package/dist/account.service.js.map +1 -0
- package/dist/auditor.d.ts +31 -0
- package/dist/auditor.js +146 -0
- package/dist/auditor.js.map +1 -0
- package/dist/contracts/contracts.service.d.ts +3 -3
- package/dist/contracts/contracts.service.js +71 -19
- package/dist/contracts/contracts.service.js.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/transactionHandler.d.ts +1 -1
- package/dist/contracts/transactionHandler.js +2 -4
- package/dist/contracts/transactionHandler.js.map +1 -1
- package/dist/data.service.d.ts +20 -6
- package/dist/data.service.js +50 -7
- package/dist/data.service.js.map +1 -1
- package/dist/errors/contracts.errors.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/garaga.js +9 -3
- package/dist/garaga.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/sdk.js +4 -4
- package/dist/sdk.js.map +1 -1
- package/dist/types/conversions.js.map +1 -1
- package/dist/types/entrypoint.d.ts +2 -0
- package/dist/types/entrypoint.js +50 -30
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/snarkjs.d.ts +7 -46
- package/dist/utils.d.ts +5 -2
- package/dist/utils.js +11 -2
- package/dist/utils.js.map +1 -1
- package/package.json +14 -3
- package/src/abis/ERC20.abi.ts +145 -145
- package/src/abis/EntryPoint.abi.ts +267 -235
- package/src/abis/PrivacyPool.abi.ts +227 -145
- package/src/abis/index.ts +1 -1
- package/src/account.service.ts +47 -0
- package/src/auditor.ts +219 -0
- package/src/contracts/contracts.service.ts +325 -73
- package/src/contracts/index.ts +2 -2
- package/src/contracts/transactionHandler.ts +16 -7
- package/src/data.service.ts +123 -146
- package/src/errors/contracts.errors.ts +6 -6
- package/src/errors/index.ts +18 -24
- package/src/garaga.ts +10 -4
- package/src/index.ts +17 -27
- package/src/sdk.ts +39 -26
- package/src/types/conversions.ts +11 -12
- package/src/types/entrypoint.ts +74 -41
- package/src/types/garaga.ts +32 -32
- package/src/types/index.ts +1 -1
- package/src/types/snarkjs.ts +8 -20
- package/src/utils.ts +34 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivacyPool.abi.js","sourceRoot":"","sources":["../../src/abis/PrivacyPool.abi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PrivacyPool.abi.js","sourceRoot":"","sources":["../../src/abis/PrivacyPool.abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B;QACE,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,iBAAiB;QACzB,gBAAgB,EAAE,gDAAgD;KACnE;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,qBAAqB;aAC9B;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,qBAAqB;aAC9B;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,6BAA6B;QACrC,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,+CAA+C;aACxD;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,eAAe;aACxB;YACD;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,kDAAkD;aAC3D;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,iDAAiD;QACzD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,qBAAqB;aAC9B;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,6BAA6B;aACtC;SACF;KACF;IACD;QACE,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,yEAAyE;QACjF,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,iDAAiD;aAC1D;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;aACb;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,oCAAoC;QAC5C,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,sCAAsC;aAC/C;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,gDAAgD;QACxD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,mDAAmD;aAC5D;YACD;gBACE,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,yEAAyE;aAClF;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,oCAAoC;aAC7C;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,yDAAyD;QACjE,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,oCAAoC;aAC7C;SACF;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,yDAAyD;QACjE,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,oCAAoC;aAC7C;SACF;KACF;IACD;QACE,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,gDAAgD;QACxD,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,mDAAmD;qBAC5D;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,qBAAqB;qBAC9B;oBACD;wBACE,MAAM,EAAE,mBAAmB;wBAC3B,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;gBACD,kBAAkB,EAAE,UAAU;aAC/B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,gDAAgD;qBACzD;oBACD;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,yDAAyD;qBAClE;iBACF;gBACD,SAAS,EAAE,EAAE;gBACb,kBAAkB,EAAE,UAAU;aAC/B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,yDAAyD;qBAClE;iBACF;gBACD,SAAS,EAAE,EAAE;gBACb,kBAAkB,EAAE,UAAU;aAC/B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,kBAAkB,EAAE,UAAU;aAC/B;SACF;KACF;IACD;QACE,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,YAAY;QACpB,gBAAgB,EAAE,8CAA8C;KACjE;IACD;QACE,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,IAAI;aACb;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;aACb;SACF;KACF;IACD;QACE,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,8CAA8C;QACtD,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,eAAe;qBACxB;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mDAAmD;qBAC5D;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mBAAmB;qBAC5B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mDAAmD;qBAC5D;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,qBAAqB;gBAC7B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,uCAAuC;qBAChD;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,uCAAuC;qBAChD;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mBAAmB;qBAC5B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,aAAa;gBACrB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mBAAmB;qBAC5B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,oBAAoB;qBAC7B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,oBAAoB;qBAC7B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,YAAY;qBACrB;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,oBAAoB;qBAC7B;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,eAAe;wBACvB,MAAM,EAAE,qBAAqB;qBAC9B;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,YAAY;qBACrB;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,MAAM,EAAE,eAAe;qBACxB;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,mDAAmD;qBAC5D;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,oBAAoB;qBAC7B;iBACF;gBACD,kBAAkB,EAAE,MAAM;aAC3B;SACF;KACF;IACD;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,mDAAmD;aAC5D;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,mDAAmD;aAC5D;YACD;gBACE,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,uCAAuC;aAChD;YACD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,uCAAuC;aAChD;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,gEAAgE;QACxE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,yDAAyD;QACjE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,gEAAgE;gBACxE,MAAM,EAAE,QAAQ;aACjB;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,6CAA6C;QACrD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,mDAAmD;gBAC3D,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,6CAA6C;QACrD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,mDAAmD;gBAC3D,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,mDAAmD;gBAC3D,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,EAAE;KACd;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,8CAA8C;QACtD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,KAAK;aACd;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,6BAA6B;gBACrC,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;YACD;gBACE,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,MAAM;aACf;SACF;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,iEAAiE;QACzE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,yDAAyD;gBACjE,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,6CAA6C;gBACrD,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,6CAA6C;gBACrD,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,4CAA4C;gBACpD,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,4CAA4C;gBACpD,MAAM,EAAE,QAAQ;aACjB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,8CAA8C;gBACtD,MAAM,EAAE,QAAQ;aACjB;SACF;KACF;CACO,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AccountService, PoolAccount } from "@0xbow/privacy-pools-core-sdk";
|
|
2
|
+
import { StarknetDataService } from "./data.service.js";
|
|
3
|
+
import { AuditorData } from "./auditor.js";
|
|
4
|
+
type AccountServiceConfig = Exclude<ConstructorParameters<typeof AccountService>[1], {
|
|
5
|
+
account: any;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class StarknetAccountService extends AccountService {
|
|
8
|
+
private mnemonic;
|
|
9
|
+
constructor(dataService: StarknetDataService, config: AccountServiceConfig);
|
|
10
|
+
deriveViewKey({ label }: Pick<PoolAccount, "label">, base?: "16" | "32" | "64"): string;
|
|
11
|
+
createAuditorData({ label, deposit, children }: PoolAccount, withdrawalValue?: bigint): {
|
|
12
|
+
auditorData: AuditorData;
|
|
13
|
+
withdrawalSecrets: ReturnType<StarknetAccountService["createWithdrawalSecrets"]>;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AccountService } from "@0xbow/privacy-pools-core-sdk";
|
|
2
|
+
import { deriveKeyFromMnemonic, packAuditorData, computeTag, encrypt } from "./auditor.js";
|
|
3
|
+
import { base64, base16, base32 } from "@scure/base";
|
|
4
|
+
export class StarknetAccountService extends AccountService {
|
|
5
|
+
mnemonic;
|
|
6
|
+
constructor(dataService, config) {
|
|
7
|
+
super(dataService, config);
|
|
8
|
+
this.mnemonic = config.mnemonic;
|
|
9
|
+
}
|
|
10
|
+
deriveViewKey({ label }, base = "16") {
|
|
11
|
+
const encoder = { "16": base16, "32": base32, "64": base64 };
|
|
12
|
+
return encoder[base].encode(deriveKeyFromMnemonic(this.mnemonic, label));
|
|
13
|
+
}
|
|
14
|
+
createAuditorData({ label, deposit, children }, withdrawalValue) {
|
|
15
|
+
const viewKey = deriveKeyFromMnemonic(this.mnemonic, label);
|
|
16
|
+
const accountCommitment = children.at(-1) || deposit;
|
|
17
|
+
const withdrawalIndex = children.length;
|
|
18
|
+
const withdrawalSecrets = this.createWithdrawalSecrets(accountCommitment);
|
|
19
|
+
const packedData = packAuditorData({
|
|
20
|
+
value: withdrawalValue || accountCommitment.value,
|
|
21
|
+
label,
|
|
22
|
+
...withdrawalSecrets,
|
|
23
|
+
});
|
|
24
|
+
const cipherArray = encrypt(packedData, viewKey);
|
|
25
|
+
const ciphertext = base64.encode(cipherArray);
|
|
26
|
+
const tag = computeTag(viewKey, withdrawalIndex);
|
|
27
|
+
const auditorData = { tag, ciphertext };
|
|
28
|
+
return { auditorData, withdrawalSecrets };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=account.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.service.js","sourceRoot":"","sources":["../src/account.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAe,qBAAqB,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IAChD,QAAQ,CAAS;IAEzB,YAAY,WAAgC,EAAE,MAA4B;QACxE,KAAK,CAAC,WAAoB,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,EAAE,KAAK,EAA8B,EAAE,OAA2B,IAAI;QAClF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAW,CAAC;QACtE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,iBAAiB,CACf,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAe,EACzC,eAAwB;QAKxB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;QAExC,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAE1E,MAAM,UAAU,GAAG,eAAe,CAAC;YACjC,KAAK,EAAE,eAAe,IAAI,iBAAiB,CAAC,KAAK;YACjD,KAAK;YACL,GAAG,iBAAiB;SACrB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjD,MAAM,WAAW,GAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;QACrD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AccountCommitment, Hash, PoolInfo } from "@0xbow/privacy-pools-core-sdk";
|
|
2
|
+
import { StarknetDataService } from "./data.service.js";
|
|
3
|
+
export interface AuditEvent {
|
|
4
|
+
tag: Hash;
|
|
5
|
+
ciphertext: string;
|
|
6
|
+
prevNullifierHash: Hash;
|
|
7
|
+
newCommitment: Hash;
|
|
8
|
+
blockNumber: bigint;
|
|
9
|
+
transactionHash: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function deriveKey(secret: Uint8Array, label: bigint): Uint8Array;
|
|
12
|
+
export declare function deriveKeyFromMnemonic(mnemonic: string, label: bigint): Uint8Array;
|
|
13
|
+
export declare function encrypt(plaintext: Uint8Array, viewKey: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
14
|
+
export declare function decrypt(input: Uint8Array, viewKey: Uint8Array): Uint8Array;
|
|
15
|
+
export declare function packAuditorData({ label: declaredLabel, value: declaredValue, nullifier: declaredNullifier, secret: declaredSecret, }: Pick<AccountCommitment, "label" | "value" | "nullifier" | "secret">): Uint8Array;
|
|
16
|
+
export declare function unpackAuditorData(packedData: Uint8Array): {
|
|
17
|
+
declaredLabel: bigint;
|
|
18
|
+
declaredValue: bigint;
|
|
19
|
+
declaredNullifier: bigint;
|
|
20
|
+
declaredSecret: bigint;
|
|
21
|
+
};
|
|
22
|
+
export declare function reconstructAccountCommitment(event: AuditEvent, viewKey: Uint8Array): AccountCommitment;
|
|
23
|
+
export declare function computeTag(viewKey: Uint8Array, withdraw_number: number): bigint;
|
|
24
|
+
export declare function constructSequence(viewKey: Uint8Array, serviceData: StarknetDataService, pool: PoolInfo): Promise<AccountCommitment[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Represents a AuditEvent event from a privacy pool
|
|
27
|
+
*/
|
|
28
|
+
export interface AuditorData {
|
|
29
|
+
tag: bigint;
|
|
30
|
+
ciphertext: string;
|
|
31
|
+
}
|
package/dist/auditor.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { getCommitment } from "@0xbow/privacy-pools-core-sdk";
|
|
2
|
+
import { xchacha20poly1305 } from "@noble/ciphers/chacha.js";
|
|
3
|
+
import { bytesToNumberBE, numberToBytesBE } from "@noble/ciphers/utils.js";
|
|
4
|
+
import { hkdf } from "@noble/hashes/hkdf.js";
|
|
5
|
+
import { sha3_256 as sha256 } from "@noble/hashes/sha3.js";
|
|
6
|
+
import { base64 } from "@scure/base";
|
|
7
|
+
import { mnemonicToEntropy } from "@scure/bip39";
|
|
8
|
+
import { wordlist } from "@scure/bip39/wordlists/english";
|
|
9
|
+
import { poseidonHashMany } from "@scure/starknet";
|
|
10
|
+
//TODO: The first time you will need to generate a viewing key is in the first withdraw
|
|
11
|
+
// of a deposited note. At that point you allready have a label. I suggest for the viewKey to be derivable
|
|
12
|
+
// from the account secret + deposit label. There is no need to store another secret for each deposit.
|
|
13
|
+
// viewKey =~ Hash(AccountSecret, Label);
|
|
14
|
+
export function deriveKey(secret, label) {
|
|
15
|
+
const info = new TextEncoder().encode("xchacha-key");
|
|
16
|
+
const salt = new TextEncoder().encode(String(label));
|
|
17
|
+
const viewKey = hkdf(sha256, secret, salt, info, 32);
|
|
18
|
+
return viewKey;
|
|
19
|
+
}
|
|
20
|
+
export function deriveKeyFromMnemonic(mnemonic, label) {
|
|
21
|
+
const secret = mnemonicToEntropy(mnemonic, wordlist);
|
|
22
|
+
return deriveKey(secret, label);
|
|
23
|
+
}
|
|
24
|
+
export function encrypt(plaintext, viewKey) {
|
|
25
|
+
const nonce = crypto.getRandomValues(new Uint8Array(24));
|
|
26
|
+
const chacha = xchacha20poly1305(viewKey, nonce);
|
|
27
|
+
const ciphertext = chacha.encrypt(plaintext);
|
|
28
|
+
// Prepend the nonce
|
|
29
|
+
const output = new Uint8Array(24 + ciphertext.length);
|
|
30
|
+
output.set(nonce, 0);
|
|
31
|
+
output.set(ciphertext, 24);
|
|
32
|
+
return output;
|
|
33
|
+
}
|
|
34
|
+
export function decrypt(input, viewKey) {
|
|
35
|
+
const nonce = input.slice(0, 24);
|
|
36
|
+
const chacha = xchacha20poly1305(viewKey, nonce);
|
|
37
|
+
const ciphertext = input.slice(24);
|
|
38
|
+
//TODO: What happens if AE fails?
|
|
39
|
+
const decrypted = chacha.decrypt(ciphertext);
|
|
40
|
+
return decrypted;
|
|
41
|
+
}
|
|
42
|
+
export function packAuditorData({ label: declaredLabel, value: declaredValue, nullifier: declaredNullifier, secret: declaredSecret, }) {
|
|
43
|
+
//TODO: Add assertions about lenght of bigint
|
|
44
|
+
const output = new Uint8Array(128);
|
|
45
|
+
output.set(numberToBytesBE(declaredLabel, 32), 0);
|
|
46
|
+
output.set(numberToBytesBE(declaredValue, 32), 32);
|
|
47
|
+
output.set(numberToBytesBE(declaredNullifier, 32), 64);
|
|
48
|
+
output.set(numberToBytesBE(declaredSecret, 32), 96);
|
|
49
|
+
return output;
|
|
50
|
+
}
|
|
51
|
+
export function unpackAuditorData(packedData) {
|
|
52
|
+
const declaredLabel = bytesToNumberBE(packedData.slice(0, 32));
|
|
53
|
+
const declaredValue = bytesToNumberBE(packedData.slice(32, 64));
|
|
54
|
+
const declaredNullifier = bytesToNumberBE(packedData.slice(64, 96));
|
|
55
|
+
const declaredSecret = bytesToNumberBE(packedData.slice(96, 128));
|
|
56
|
+
return { declaredLabel, declaredValue, declaredNullifier, declaredSecret };
|
|
57
|
+
}
|
|
58
|
+
export function reconstructAccountCommitment(event, viewKey) {
|
|
59
|
+
const { ciphertext, blockNumber, transactionHash, prevNullifierHash } = event;
|
|
60
|
+
const auditorData = decrypt(base64.decode(ciphertext), viewKey);
|
|
61
|
+
const { declaredLabel, declaredValue, declaredNullifier, declaredSecret } = unpackAuditorData(auditorData);
|
|
62
|
+
const { hash, nullifierHash, preimage: { value: _value, label, precommitment: _precommitment }, } = getCommitment(declaredValue, declaredLabel, declaredNullifier, declaredSecret);
|
|
63
|
+
if (nullifierHash != prevNullifierHash) {
|
|
64
|
+
throw new Error("Inconsistency in emitted nullifier hash");
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
hash,
|
|
68
|
+
value: declaredValue,
|
|
69
|
+
label: label,
|
|
70
|
+
nullifier: declaredNullifier,
|
|
71
|
+
secret: declaredSecret,
|
|
72
|
+
blockNumber,
|
|
73
|
+
txHash: transactionHash,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export function computeTag(viewKey, withdraw_number) {
|
|
77
|
+
const viewKeyBigInt = bytesToNumberBE(viewKey);
|
|
78
|
+
const tag = poseidonHashMany([viewKeyBigInt, BigInt(withdraw_number)]);
|
|
79
|
+
return tag;
|
|
80
|
+
}
|
|
81
|
+
async function fetchAuditEventsForViewKey(viewKey, serviceData, pool) {
|
|
82
|
+
const out = [];
|
|
83
|
+
let withdraw_number = 0;
|
|
84
|
+
while (true) {
|
|
85
|
+
const tag = computeTag(viewKey, withdraw_number);
|
|
86
|
+
const events = await serviceData.getAuditEventForTag(tag, pool);
|
|
87
|
+
if (!events) {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
//It should be only ONE event with this tag. But it is not eforced. A troll could make a withdraw with
|
|
91
|
+
//the tag of a previous withraw from another label.
|
|
92
|
+
events.forEach((event) => out.push([event, withdraw_number]));
|
|
93
|
+
withdraw_number++;
|
|
94
|
+
}
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
export async function constructSequence(viewKey, serviceData, pool) {
|
|
98
|
+
const commitments = [];
|
|
99
|
+
const events = await fetchAuditEventsForViewKey(viewKey, serviceData, pool);
|
|
100
|
+
const events_for_index = events.filter(([_, b]) => b === 0);
|
|
101
|
+
if (events_for_index.length === 0) {
|
|
102
|
+
throw new Error("No withdraws for this key");
|
|
103
|
+
}
|
|
104
|
+
let declaredCommitment;
|
|
105
|
+
for (const [event, _withdraw_number] of events_for_index) {
|
|
106
|
+
try {
|
|
107
|
+
declaredCommitment = reconstructAccountCommitment(event, viewKey);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
//What should we do here?
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (!declaredCommitment) {
|
|
114
|
+
throw new Error("No event could be decrypted");
|
|
115
|
+
}
|
|
116
|
+
const initialLabel = declaredCommitment.label;
|
|
117
|
+
const deposit = await serviceData.getDeposits(pool, pool.deploymentBlock, initialLabel);
|
|
118
|
+
if (deposit.length != 1) {
|
|
119
|
+
throw new Error("No deposit found for this label");
|
|
120
|
+
}
|
|
121
|
+
const initialCommitment = deposit[0].commitment;
|
|
122
|
+
if (initialCommitment != declaredCommitment.hash) {
|
|
123
|
+
throw new Error("mismatch");
|
|
124
|
+
}
|
|
125
|
+
commitments.push(declaredCommitment);
|
|
126
|
+
for (let i = 1; i < events.length; i++) {
|
|
127
|
+
const events_for_index = events.filter(([_, b]) => b === i);
|
|
128
|
+
for (const [event, _withdraw_number] of events_for_index) {
|
|
129
|
+
try {
|
|
130
|
+
declaredCommitment = reconstructAccountCommitment(event, viewKey);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
//What should we do here?
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (initialLabel != declaredCommitment.label) {
|
|
137
|
+
throw new Error("mismatch");
|
|
138
|
+
}
|
|
139
|
+
if (commitments[i - 1].hash != declaredCommitment.hash) {
|
|
140
|
+
throw new Error("mismatch");
|
|
141
|
+
}
|
|
142
|
+
commitments.push(declaredCommitment);
|
|
143
|
+
}
|
|
144
|
+
return commitments;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=auditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditor.js","sourceRoot":"","sources":["../src/auditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,9 +26,9 @@ export declare const Mode: {
|
|
|
26
26
|
/** Execute the transaction on-chain */
|
|
27
27
|
readonly EXECUTE: "execute";
|
|
28
28
|
};
|
|
29
|
-
export type Mode = typeof Mode[keyof typeof Mode];
|
|
29
|
+
export type Mode = (typeof Mode)[keyof typeof Mode];
|
|
30
30
|
/** Option type for simulation mode */
|
|
31
|
-
export type OptionSimulate =
|
|
31
|
+
export type OptionSimulate = object;
|
|
32
32
|
/** Option type for execution mode with optional transaction details */
|
|
33
33
|
export type OptionExecute = {
|
|
34
34
|
details?: UniversalDetails;
|
|
@@ -44,7 +44,7 @@ export type OptionModeExecute = {
|
|
|
44
44
|
modeOptions?: OptionExecute;
|
|
45
45
|
};
|
|
46
46
|
/** Union type for all possible call results */
|
|
47
|
-
type CallResult = AllowArray<Call> | Omit<SimulateTransaction,
|
|
47
|
+
type CallResult = AllowArray<Call> | Omit<SimulateTransaction, "fee_estimation"> | TransactionResponse;
|
|
48
48
|
/**
|
|
49
49
|
* Service class for interacting with Privacy Pool contracts on Starknet.
|
|
50
50
|
*
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Contract, num } from "starknet";
|
|
1
|
+
import { Contract, num, } from "starknet";
|
|
2
2
|
import { EntryPointABI } from "../abis/EntryPoint.abi.js";
|
|
3
3
|
import { ERC20ABI } from "../abis/ERC20.abi.js";
|
|
4
4
|
import { PrivacyPoolABI } from "../abis/PrivacyPool.abi.js";
|
|
5
5
|
import { ETH_ADDRESS } from "../constants.js";
|
|
6
6
|
import { SNContractError, SNPoolError, StarknetSDKError } from "../errors/index.js";
|
|
7
|
-
import { castBigInt, toAddress } from "../utils.js";
|
|
7
|
+
import { castBigInt, toAddress, toCairoOption } from "../utils.js";
|
|
8
8
|
import { executeIntent, simulateIntent } from "./transactionHandler.js";
|
|
9
9
|
/**
|
|
10
10
|
* Execution modes for contract interactions.
|
|
@@ -13,11 +13,11 @@ export const Mode = {
|
|
|
13
13
|
/** Simulate the transaction without executing it */
|
|
14
14
|
SIMULATE: "simulate",
|
|
15
15
|
/** Execute the transaction on-chain */
|
|
16
|
-
EXECUTE: "execute"
|
|
16
|
+
EXECUTE: "execute",
|
|
17
17
|
};
|
|
18
18
|
/** Helper function for asserting instances */
|
|
19
19
|
function _isAccount(x) {
|
|
20
|
-
return
|
|
20
|
+
return x.simulateTransaction !== undefined && x.execute !== undefined;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Internal wrapper function that handles different execution modes for contract calls.
|
|
@@ -80,7 +80,11 @@ export class SNContractInteractionsService {
|
|
|
80
80
|
*/
|
|
81
81
|
constructor(entrypointAddress, providerOrAccount) {
|
|
82
82
|
this.providerOrAccount = providerOrAccount;
|
|
83
|
-
this.entrypoint = new Contract({
|
|
83
|
+
this.entrypoint = new Contract({
|
|
84
|
+
abi: EntryPointABI,
|
|
85
|
+
address: entrypointAddress,
|
|
86
|
+
providerOrAccount: this.providerOrAccount,
|
|
87
|
+
}).typedv2(EntryPointABI);
|
|
84
88
|
}
|
|
85
89
|
/**
|
|
86
90
|
* Creates a typed PrivacyPool contract instance for the given address.
|
|
@@ -89,10 +93,18 @@ export class SNContractInteractionsService {
|
|
|
89
93
|
* @returns A typed contract instance for the PrivacyPool
|
|
90
94
|
*/
|
|
91
95
|
pool(address) {
|
|
92
|
-
return new Contract({
|
|
96
|
+
return new Contract({
|
|
97
|
+
abi: PrivacyPoolABI,
|
|
98
|
+
address,
|
|
99
|
+
providerOrAccount: this.providerOrAccount,
|
|
100
|
+
}).typedv2(PrivacyPoolABI);
|
|
93
101
|
}
|
|
94
102
|
erc20(address) {
|
|
95
|
-
return new Contract({
|
|
103
|
+
return new Contract({
|
|
104
|
+
abi: ERC20ABI,
|
|
105
|
+
address,
|
|
106
|
+
providerOrAccount: this.providerOrAccount,
|
|
107
|
+
}).typedv2(ERC20ABI);
|
|
96
108
|
}
|
|
97
109
|
depositERC20(asset, amount, precommitment, options) {
|
|
98
110
|
const call = this.entrypoint.populate("deposit", [asset, amount, precommitment]);
|
|
@@ -103,12 +115,20 @@ export class SNContractInteractionsService {
|
|
|
103
115
|
return _intentOptionWrapper(call, options && { ...options, account: this.providerOrAccount });
|
|
104
116
|
}
|
|
105
117
|
async withdraw(withdrawal, withdrawalProofGaraga, scope, options) {
|
|
118
|
+
const _withdrawal = {
|
|
119
|
+
...withdrawal,
|
|
120
|
+
auditorData: toCairoOption(withdrawal.auditorData),
|
|
121
|
+
};
|
|
106
122
|
const { poolAddress } = await this.getScopeData(scope);
|
|
107
|
-
const call = this.pool(poolAddress).populate("withdraw", [
|
|
123
|
+
const call = this.pool(poolAddress).populate("withdraw", [_withdrawal, { fullProof: withdrawalProofGaraga }]);
|
|
108
124
|
return _intentOptionWrapper(call, options && { ...options, account: this.providerOrAccount });
|
|
109
125
|
}
|
|
110
126
|
relay(withdrawal, withdrawalProofGaraga, scope, options) {
|
|
111
|
-
const
|
|
127
|
+
const _withdrawal = {
|
|
128
|
+
...withdrawal,
|
|
129
|
+
auditorData: toCairoOption(withdrawal.auditorData),
|
|
130
|
+
};
|
|
131
|
+
const call = this.entrypoint.populate("relay", [_withdrawal, scope, { fullProof: withdrawalProofGaraga }]);
|
|
112
132
|
return _intentOptionWrapper(call, options && { ...options, account: this.providerOrAccount });
|
|
113
133
|
}
|
|
114
134
|
ragequit(ragequitProofGaraga, privacyPoolAddress, options) {
|
|
@@ -162,7 +182,7 @@ export class SNContractInteractionsService {
|
|
|
162
182
|
const assetAddress = num.toHex64(await this.pool(poolAddress).asset());
|
|
163
183
|
return {
|
|
164
184
|
poolAddress,
|
|
165
|
-
assetAddress
|
|
185
|
+
assetAddress,
|
|
166
186
|
};
|
|
167
187
|
}
|
|
168
188
|
async getAssetConfig(asset) {
|
|
@@ -209,33 +229,65 @@ export class AdminContractInteractions {
|
|
|
209
229
|
this.entrypoint = contractService.entrypoint;
|
|
210
230
|
}
|
|
211
231
|
async registerPool(asset, pool, minimumDepositAmount, vettingFeeBPS, maxRelayFeeBPS, options) {
|
|
212
|
-
const call = this.entrypoint.populate("registerPool", [
|
|
213
|
-
|
|
232
|
+
const call = this.entrypoint.populate("registerPool", [
|
|
233
|
+
asset,
|
|
234
|
+
pool,
|
|
235
|
+
minimumDepositAmount,
|
|
236
|
+
vettingFeeBPS,
|
|
237
|
+
maxRelayFeeBPS,
|
|
238
|
+
]);
|
|
239
|
+
return _intentOptionWrapper(call, options && {
|
|
240
|
+
...options,
|
|
241
|
+
account: this.contractService.providerOrAccount,
|
|
242
|
+
});
|
|
214
243
|
}
|
|
215
244
|
async updateRoot(root, ipfsCID, options) {
|
|
216
245
|
_assertIpfsCID(ipfsCID);
|
|
217
246
|
const call = this.entrypoint.populate("updateRoot", [root, ipfsCID]);
|
|
218
|
-
return _intentOptionWrapper(call, options && {
|
|
247
|
+
return _intentOptionWrapper(call, options && {
|
|
248
|
+
...options,
|
|
249
|
+
account: this.contractService.providerOrAccount,
|
|
250
|
+
});
|
|
219
251
|
}
|
|
220
252
|
async removePool(asset, options) {
|
|
221
253
|
const call = this.entrypoint.populate("removePool", [asset]);
|
|
222
|
-
return _intentOptionWrapper(call, options && {
|
|
254
|
+
return _intentOptionWrapper(call, options && {
|
|
255
|
+
...options,
|
|
256
|
+
account: this.contractService.providerOrAccount,
|
|
257
|
+
});
|
|
223
258
|
}
|
|
224
259
|
async updatePoolConfiguration(asset, minimumDepositAmount, vettingFeeBPS, maxRelayFeeBPS, options) {
|
|
225
|
-
const call = this.entrypoint.populate("updatePoolConfiguration", [
|
|
226
|
-
|
|
260
|
+
const call = this.entrypoint.populate("updatePoolConfiguration", [
|
|
261
|
+
asset,
|
|
262
|
+
minimumDepositAmount,
|
|
263
|
+
vettingFeeBPS,
|
|
264
|
+
maxRelayFeeBPS,
|
|
265
|
+
]);
|
|
266
|
+
return _intentOptionWrapper(call, options && {
|
|
267
|
+
...options,
|
|
268
|
+
account: this.contractService.providerOrAccount,
|
|
269
|
+
});
|
|
227
270
|
}
|
|
228
271
|
async windDownPool(pool, options) {
|
|
229
272
|
const call = this.entrypoint.populate("windDownPool", [pool]);
|
|
230
|
-
return _intentOptionWrapper(call, options && {
|
|
273
|
+
return _intentOptionWrapper(call, options && {
|
|
274
|
+
...options,
|
|
275
|
+
account: this.contractService.providerOrAccount,
|
|
276
|
+
});
|
|
231
277
|
}
|
|
232
278
|
async withdrawFees(asset, recipient, options) {
|
|
233
279
|
const call = this.entrypoint.populate("withdrawFees", [asset, recipient]);
|
|
234
|
-
return _intentOptionWrapper(call, options && {
|
|
280
|
+
return _intentOptionWrapper(call, options && {
|
|
281
|
+
...options,
|
|
282
|
+
account: this.contractService.providerOrAccount,
|
|
283
|
+
});
|
|
235
284
|
}
|
|
236
285
|
async upgrade(newClassHash, options) {
|
|
237
286
|
const call = this.entrypoint.populate("upgrade", [newClassHash]);
|
|
238
|
-
return _intentOptionWrapper(call, options && {
|
|
287
|
+
return _intentOptionWrapper(call, options && {
|
|
288
|
+
...options,
|
|
289
|
+
account: this.contractService.providerOrAccount,
|
|
290
|
+
});
|
|
239
291
|
}
|
|
240
292
|
}
|
|
241
293
|
function _assertIpfsCID(ipfsCID) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.service.js","sourceRoot":"","sources":["../../src/contracts/contracts.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"contracts.service.js","sourceRoot":"","sources":["../../src/contracts/contracts.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AllowArray, Call, InvokeFunctionResponse, Account as SNAccount, SimulateTransaction, UniversalDetails } from "starknet";
|
|
2
2
|
export declare function executeIntent(account: SNAccount, calls: AllowArray<Call>, transactionDetails?: UniversalDetails): Promise<InvokeFunctionResponse>;
|
|
3
|
-
export declare function simulateIntent(account: SNAccount, calls: AllowArray<Call>): Promise<Omit<SimulateTransaction,
|
|
3
|
+
export declare function simulateIntent(account: SNAccount, calls: AllowArray<Call>): Promise<Omit<SimulateTransaction, "fee_estimation">>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransactionType } from "starknet";
|
|
1
|
+
import { TransactionType, } from "starknet";
|
|
2
2
|
import { SNContractError, StarknetSDKError } from "../errors/index.js";
|
|
3
3
|
import { parseContractError } from "../errors/contracts.errors.js";
|
|
4
4
|
export async function executeIntent(account, calls, transactionDetails) {
|
|
@@ -6,9 +6,7 @@ export async function executeIntent(account, calls, transactionDetails) {
|
|
|
6
6
|
return account.execute(calls, { ...sim, ...(transactionDetails || {}) });
|
|
7
7
|
}
|
|
8
8
|
export async function simulateIntent(account, calls) {
|
|
9
|
-
const simRes = await account.simulateTransaction([
|
|
10
|
-
{ type: TransactionType.INVOKE, payload: calls },
|
|
11
|
-
]);
|
|
9
|
+
const simRes = await account.simulateTransaction([{ type: TransactionType.INVOKE, payload: calls }]);
|
|
12
10
|
const sim = simRes[0];
|
|
13
11
|
if (sim === undefined || sim.transaction_trace.type !== "INVOKE") {
|
|
14
12
|
throw StarknetSDKError.unreachable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionHandler.js","sourceRoot":"","sources":["../../src/contracts/transactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"transactionHandler.js","sourceRoot":"","sources":["../../src/contracts/transactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,eAAe,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAkB,EAClB,KAAuB,EACvB,kBAAqC;IAErC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAkB,EAClB,KAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAErG,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC;QAC/E,MAAM,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|