near-kit 0.1.0 → 0.2.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 +232 -130
- package/dist/core/config-schemas.d.ts +7 -2
- package/dist/core/config-schemas.d.ts.map +1 -1
- package/dist/core/config-schemas.js +3 -1
- package/dist/core/config-schemas.js.map +1 -1
- package/dist/core/near.d.ts.map +1 -1
- package/dist/core/transaction.d.ts.map +1 -1
- package/dist/core/transaction.js +4 -0
- package/dist/core/transaction.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keys/index.d.ts +3 -1
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +3 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rotating-keystore.d.ts +207 -0
- package/dist/keys/rotating-keystore.d.ts.map +1 -0
- package/dist/keys/rotating-keystore.js +240 -0
- package/dist/keys/rotating-keystore.js.map +1 -0
- package/dist/utils/amount.d.ts +23 -12
- package/dist/utils/amount.d.ts.map +1 -1
- package/dist/utils/amount.js.map +1 -1
- package/dist/utils/gas.d.ts +4 -4
- package/dist/utils/gas.d.ts.map +1 -1
- package/dist/utils/gas.js.map +1 -1
- package/dist/utils/validation.d.ts +12 -2
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +3 -3
package/dist/core/transaction.js
CHANGED
|
@@ -118,6 +118,10 @@ export class TransactionBuilder {
|
|
|
118
118
|
if (!keyPair) {
|
|
119
119
|
throw new InvalidKeyError(`No key found for account: ${this.signerId}`);
|
|
120
120
|
}
|
|
121
|
+
// Cache the resolved key pair to ensure keyStore.get() is only called once
|
|
122
|
+
// per TransactionBuilder instance. This is critical for RotatingKeyStore
|
|
123
|
+
// which returns a different key on each get() call.
|
|
124
|
+
this.keyPair = keyPair;
|
|
121
125
|
return keyPair;
|
|
122
126
|
}
|
|
123
127
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/core/transaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/core/transaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,GACV,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAGL,eAAe,EACf,YAAY,GAEb,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAIL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAmDpB;;;GAGG;AACH,SAAS,eAAe,CAAC,CAAY,EAAE,CAAY;IACjD,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CACjC,UAA+B;IAE/B,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO;YACL,YAAY,EAAE;gBACZ,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE;gBACzC,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC7B,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC/C,CAAC,CAAC,IAAI;aACT;SACF,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAmB7B,YACE,QAAgB,EAChB,GAAc,EACd,QAAkB,EAClB,MAAe,EACf,mBAAsC,qBAAqB,EAC3D,MAAyB,EACzB,mBAAyC;QAEzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAChD,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,OAAO,IAAI,CAAC,cAAc,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,eAAe,CAAC,6BAA6B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACzE,CAAC;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAkB,EAAE,MAAc;QACzC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAExD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,UAAkB,EAClB,UAAkB,EAClB,OAA4B,EAAE,EAC9B,UAAmD,EAAE;QAErD,MAAM,SAAS,GACb,IAAI,YAAY,UAAU;YACxB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAEpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG;YACrB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3B,CAAC,CAAC,yBAAyB,CAAA;QAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;YACrC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC;YAC1C,CAAC,CAAC,GAAG,CAAA;QAEP,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC1E,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;QAE1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAAqB;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;QAEvD,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAiB,EAAE,IAAgB;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,IAAgB,EAAE,WAAoB;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QAE7D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,mBAAmB,CACjB,SAAoE;QAEpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;QAEzD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,MAAc;QACrC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEzD,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAiB,EAAE,UAA+B;QACvD,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QACpC,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAA;QAEtD,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,SAAiB,EAAE,SAAiB;QAC5C,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAExC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;OAIG;IACH;;OAEG;IACH,oBAAoB,CAAC,cAAoC;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACjC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACZ,UAAkC,EAAE;QAEpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,yDAAyD,EACzD,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,SAAS,CACjB,gEAAgE,EAChE,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAA;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,SAAS,CACjB,oGAAoG,EACpG,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3C,IAAI,iBAA4B,CAAA;QAChC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAA;QACvC,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjD,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,eAAe,CACvB,qGAAqG,CACtG,CAAA;QACH,CAAC;QAED,IAAI,KAAa,CAAA;QACjB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAC3C,IAAI,CAAC,QAAQ,EACb,iBAAiB,CAAC,QAAQ,EAAE,CAC7B,CAAA;YACD,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACtC,CAAC;QAED,IAAI,cAAsB,CAAA;QAC1B,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAA;YACvD,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAA;QACxE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAuB,CACpC,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAC/C,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,eAAe,EACf,KAAK,EACL,cAAc,EACd,iBAAiB,CAClB,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpC,OAAO,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,QAAQ,CAAC,GAAwB;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,8BAA8B;YAC9B,gFAAgF;YAChF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA,CAAC,2BAA2B;YAClD,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpE,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,OAAO,IAAI,CAAC,OAAO,CAAA;YACnB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,oCAAoC,EACpC,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,+DAA+D;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAEnC,uEAAuE;QACvE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAC9D,IAAI,CAAC,QAAQ,EACb,SAAS,CAAC,QAAQ,EAAE,EACpB,KAAK,IAAI,EAAE;YACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAC3C,IAAI,CAAC,QAAQ,EACb,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAA;YACD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC,CACF,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAEnE,MAAM,WAAW,GAAgB;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS;YACT,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,8BAA8B;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,oCAAoC,EACpC,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAEtC,oCAAoC;QACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAEpD,+EAA+E;QAC/E,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAC7C,SAAS,EACT,UAAqC,CACtC,CAAgB,CAAA;QACjB,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;QAEpD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAE9C,iEAAiE;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAExD,+BAA+B;QAC/B,IAAI,CAAC,cAAc,GAAG;YACpB,QAAQ,EAAE;gBACR,WAAW;gBACX,SAAS;aACV;YACD,IAAI,EAAE,MAAM;SACb,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,IAAI,CAAA;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CACjB,oEAAoE,EACpE,eAAe,CAChB,CAAA;QACH,CAAC;QACD,OAAO,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjE,CAAC;IAoCD,KAAK,CAAC,IAAI,CACR,OAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,oCAAoC,EACpC,qBAAqB,CACtB,CAAA;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;YACF,6EAA6E;YAC7E,qFAAqF;YACrF,OAAO,MAAqC,CAAA;QAC9C,CAAC;QAED,sEAAsE;QACtE,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAM,CAAA;QAEpE,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,CAAC,CAAA;QAC3B,IAAI,SAAS,GAAiB,IAAI,CAAA;QAElC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC;gBACH,mEAAmE;gBACnE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBACxC,0CAA0C;oBAC1C,OAAO,IAAI,CAAC,cAAc,CAAA;oBAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;gBACnB,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,IAAI,SAAS,CACjB,4BAA4B,EAC5B,4BAA4B,CAC7B,CAAA;gBACH,CAAC;gBAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAA;gBAE9C,2CAA2C;gBAC3C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAA;gBAE7D,kBAAkB;gBAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAC3C,gBAAgB,EAChB,SAAS,CACV,CAAA;gBAED,sFAAsF;gBACtF,oDAAoD;gBACpD,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACtD,CAAC;oBAAC,MAAkC,CAAC,aAAa,CAAC,GAAG;wBACpD,IAAI;wBACJ,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ;wBACxC,WAAW,EAAE,IAAI,CAAC,UAAU;wBAC5B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;qBAC1C,CAAA;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAA;gBAE1B,qCAAqC;gBACrC,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;oBACvC,wDAAwD;oBACxD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBACxB,kBAAkB,CAAC,YAAY,CAAC,UAAU,CACxC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC9D,CAAA;oBACH,CAAC;oBAED,yEAAyE;oBACzE,IAAI,OAAO,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBACpC,SAAQ;oBACV,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,CACJ,SAAS;YACT,IAAI,SAAS,CACX,uCAAuC,EACvC,2BAA2B,CAC5B,CACF,CAAA;IACH,CAAC;;AAxwBD,+DAA+D;AAChD,+BAAY,GAAG,IAAI,YAAY,EAAE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { TransactionBuilder } from "./core/transaction.js";
|
|
|
9
9
|
export type { CallOptions, FinalExecutionOutcome, KeyConfig, KeyPair, KeyStore, NearConfig, NetworkConfig, PublicKey, SendOptions, Signature, SignedMessage, SignMessageParams, TxExecutionStatus, WalletAccount, WalletConnection, WalletSignInOptions, } from "./core/types.js";
|
|
10
10
|
export { AccessKeyDoesNotExistError, AccountDoesNotExistError, FunctionCallError, GasLimitExceededError, InsufficientBalanceError, InvalidAccountIdError, InvalidKeyError, NearError, NetworkError, SignatureError, TransactionTimeoutError, WalletError, } from "./errors/index.js";
|
|
11
11
|
export type { LegacyCredential, NearCliCredential, Network, } from "./keys/index.js";
|
|
12
|
-
export { InMemoryKeyStore, } from "./keys/index.js";
|
|
12
|
+
export { InMemoryKeyStore, RotatingKeyStore, } from "./keys/index.js";
|
|
13
13
|
export type { SandboxOptions } from "./sandbox/index.js";
|
|
14
14
|
export { Amount, formatAmount, formatGas, Gas, generateKey, generateNep413Nonce, generateSeedPhrase, isPrivateKey, isValidAccountId, isValidPublicKey, type PrivateKey, parseAmount, parseGas, parseKey, parseSeedPhrase, validatePrivateKey, verifyNep413Signature, } from "./utils/index.js";
|
|
15
15
|
export { fromHotConnect, fromWalletSelector } from "./wallets/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,GACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,gBAAgB,GAKjB,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,GACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export { TransactionBuilder } from "./core/transaction.js";
|
|
|
10
10
|
// Errors
|
|
11
11
|
export { AccessKeyDoesNotExistError, AccountDoesNotExistError, FunctionCallError, GasLimitExceededError, InsufficientBalanceError, InvalidAccountIdError, InvalidKeyError, NearError, NetworkError, SignatureError, TransactionTimeoutError, WalletError, } from "./errors/index.js";
|
|
12
12
|
// Key stores
|
|
13
|
-
export { InMemoryKeyStore,
|
|
13
|
+
export { InMemoryKeyStore, RotatingKeyStore,
|
|
14
14
|
// Node.js-only keystores not exported by default (browser environments don't support them)
|
|
15
15
|
// For Node.js/Bun:
|
|
16
16
|
// import { FileKeyStore } from "near-kit/keys/file"
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EACL,sBAAsB,EAEtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAoB1D,SAAS;AACT,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAO1B,aAAa;AACb,OAAO,EACL,gBAAgB;AAChB,2FAA2F;AAC3F,mBAAmB;AACnB,sDAAsD;AACtD,0DAA0D;EAC3D,MAAM,iBAAiB,CAAA;AAIxB,YAAY;AACZ,OAAO,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEhB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EACL,sBAAsB,EAEtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAoB1D,SAAS;AACT,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAO1B,aAAa;AACb,OAAO,EACL,gBAAgB,EAChB,gBAAgB;AAChB,2FAA2F;AAC3F,mBAAmB;AACnB,sDAAsD;AACtD,0DAA0D;EAC3D,MAAM,iBAAiB,CAAA;AAIxB,YAAY;AACZ,OAAO,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEhB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/keys/index.d.ts
CHANGED
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @remarks
|
|
5
5
|
* Includes {@link InMemoryKeyStore} for ephemeral keys, {@link FileKeyStore}
|
|
6
|
-
* for NEAR-CLI compatible disk storage,
|
|
6
|
+
* for NEAR-CLI compatible disk storage, {@link RotatingKeyStore} for
|
|
7
|
+
* high-throughput concurrent transactions, and credential schemas for working
|
|
7
8
|
* with existing NEAR tooling.
|
|
8
9
|
*/
|
|
9
10
|
export * from "./credential-schemas.js";
|
|
10
11
|
export * from "./file-keystore.js";
|
|
11
12
|
export * from "./in-memory-keystore.js";
|
|
13
|
+
export * from "./rotating-keystore.js";
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/keys/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA"}
|
package/dist/keys/index.js
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @remarks
|
|
5
5
|
* Includes {@link InMemoryKeyStore} for ephemeral keys, {@link FileKeyStore}
|
|
6
|
-
* for NEAR-CLI compatible disk storage,
|
|
6
|
+
* for NEAR-CLI compatible disk storage, {@link RotatingKeyStore} for
|
|
7
|
+
* high-throughput concurrent transactions, and credential schemas for working
|
|
7
8
|
* with existing NEAR tooling.
|
|
8
9
|
*/
|
|
9
10
|
export * from "./credential-schemas.js";
|
|
10
11
|
export * from "./file-keystore.js";
|
|
11
12
|
export * from "./in-memory-keystore.js";
|
|
13
|
+
export * from "./rotating-keystore.js";
|
|
12
14
|
// NativeKeyStore contains native Node.js dependencies and cannot be bundled for browsers
|
|
13
15
|
// For Node.js/Bun environments, import directly:
|
|
14
16
|
// import { NativeKeyStore } from "near-kit/dist/keys/native-keystore.js"
|
package/dist/keys/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AAEtC,yFAAyF;AACzF,iDAAiD;AACjD,yEAAyE;AACzE,EAAE;AACF,yDAAyD;AACzD,uCAAuC"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rotating key store implementation for concurrent transaction handling.
|
|
3
|
+
*/
|
|
4
|
+
import type { KeyPair, KeyStore } from "../core/types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Rotating key store that cycles through multiple keys per account.
|
|
7
|
+
*
|
|
8
|
+
* This keystore enables high-throughput concurrent transactions by rotating
|
|
9
|
+
* through multiple access keys for a single account. Each transaction uses
|
|
10
|
+
* a different key in round-robin fashion, eliminating nonce collisions.
|
|
11
|
+
*
|
|
12
|
+
* ## Use Cases
|
|
13
|
+
* - **High-throughput applications**: Send many concurrent transactions without nonce collisions
|
|
14
|
+
* - **Load balancing**: Distribute transaction load across multiple access keys
|
|
15
|
+
* - **Key rotation**: Seamlessly rotate keys without downtime
|
|
16
|
+
*
|
|
17
|
+
* ## How It Works
|
|
18
|
+
* - Each account can have multiple keys registered
|
|
19
|
+
* - `get()` returns the next key in round-robin order
|
|
20
|
+
* - Each key has independent nonce tracking via NonceManager
|
|
21
|
+
* - No nonce collisions between concurrent transactions
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Create keystore with multiple keys for one account
|
|
26
|
+
* const keyStore = new RotatingKeyStore()
|
|
27
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key1..."))
|
|
28
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key2..."))
|
|
29
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key3..."))
|
|
30
|
+
*
|
|
31
|
+
* const near = new Near({ network: "testnet", keyStore })
|
|
32
|
+
*
|
|
33
|
+
* // Send 100 concurrent transactions - no nonce collisions!
|
|
34
|
+
* await Promise.all(
|
|
35
|
+
* Array(100).fill(0).map(() =>
|
|
36
|
+
* near.transaction("alice.near")
|
|
37
|
+
* .transfer("bob.near", "0.1")
|
|
38
|
+
* .send()
|
|
39
|
+
* )
|
|
40
|
+
* )
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // Initialize with keys
|
|
46
|
+
* const keyStore = new RotatingKeyStore({
|
|
47
|
+
* "alice.near": [
|
|
48
|
+
* "ed25519:key1...",
|
|
49
|
+
* "ed25519:key2...",
|
|
50
|
+
* "ed25519:key3..."
|
|
51
|
+
* ]
|
|
52
|
+
* })
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* // Query rotation state
|
|
58
|
+
* const keys = await keyStore.getAll("alice.near")
|
|
59
|
+
* console.log(`Account has ${keys.length} keys`)
|
|
60
|
+
*
|
|
61
|
+
* const index = keyStore.getCurrentIndex("alice.near")
|
|
62
|
+
* console.log(`Currently at key index ${index}`)
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare class RotatingKeyStore implements KeyStore {
|
|
66
|
+
private keys;
|
|
67
|
+
private counters;
|
|
68
|
+
/**
|
|
69
|
+
* Create a new rotating keystore.
|
|
70
|
+
*
|
|
71
|
+
* @param initialKeys - Optional initial keys to populate the store.
|
|
72
|
+
* Maps account IDs to arrays of private key strings.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const keyStore = new RotatingKeyStore({
|
|
77
|
+
* "alice.near": ["ed25519:key1...", "ed25519:key2..."],
|
|
78
|
+
* "bob.near": ["ed25519:key3..."]
|
|
79
|
+
* })
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
constructor(initialKeys?: Record<string, string[]>);
|
|
83
|
+
/**
|
|
84
|
+
* Get the next key for an account using round-robin rotation.
|
|
85
|
+
*
|
|
86
|
+
* Each call to `get()` advances to the next key in the rotation.
|
|
87
|
+
* This is the core mechanism that enables concurrent transactions
|
|
88
|
+
* without nonce collisions.
|
|
89
|
+
*
|
|
90
|
+
* @param accountId - NEAR account ID
|
|
91
|
+
* @returns Next key in rotation, or null if no keys exist for account
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* // First call returns key1, second returns key2, third returns key3, fourth returns key1...
|
|
96
|
+
* const key1 = await keyStore.get("alice.near")
|
|
97
|
+
* const key2 = await keyStore.get("alice.near")
|
|
98
|
+
* const key3 = await keyStore.get("alice.near")
|
|
99
|
+
* const key4 = await keyStore.get("alice.near") // Back to key1
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
get(accountId: string): Promise<KeyPair | null>;
|
|
103
|
+
/**
|
|
104
|
+
* Add a key to an account's rotation pool.
|
|
105
|
+
*
|
|
106
|
+
* If the account already has keys, the new key is appended to the rotation.
|
|
107
|
+
* If this is the first key for the account, it becomes the starting key.
|
|
108
|
+
*
|
|
109
|
+
* @param accountId - NEAR account ID
|
|
110
|
+
* @param key - Key pair to add to rotation
|
|
111
|
+
* @param options - Optional metadata (preserved but not used for rotation)
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* await keyStore.add("alice.near", keyPair1)
|
|
116
|
+
* await keyStore.add("alice.near", keyPair2) // Now rotates between both
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
add(accountId: string, key: KeyPair, _options?: {
|
|
120
|
+
seedPhrase?: string;
|
|
121
|
+
derivationPath?: string;
|
|
122
|
+
implicitAccountId?: string;
|
|
123
|
+
}): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Remove all keys for an account from the rotation pool.
|
|
126
|
+
*
|
|
127
|
+
* This also resets the rotation counter for the account.
|
|
128
|
+
*
|
|
129
|
+
* @param accountId - NEAR account ID
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* await keyStore.remove("alice.near")
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
remove(accountId: string): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* List all account IDs in the keystore.
|
|
139
|
+
*
|
|
140
|
+
* @returns Array of account IDs that have at least one key
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const accounts = await keyStore.list()
|
|
145
|
+
* console.log(`Managing keys for: ${accounts.join(", ")}`)
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
list(): Promise<string[]>;
|
|
149
|
+
/**
|
|
150
|
+
* Get all keys for an account (non-rotating).
|
|
151
|
+
*
|
|
152
|
+
* Returns all keys in the rotation pool without advancing the counter.
|
|
153
|
+
* Useful for inspecting or managing the key pool.
|
|
154
|
+
*
|
|
155
|
+
* @param accountId - NEAR account ID
|
|
156
|
+
* @returns Array of all key pairs for the account, or empty array if none exist
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const keys = await keyStore.getAll("alice.near")
|
|
161
|
+
* console.log(`Account has ${keys.length} keys in rotation`)
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
getAll(accountId: string): Promise<KeyPair[]>;
|
|
165
|
+
/**
|
|
166
|
+
* Get the current rotation index for an account.
|
|
167
|
+
*
|
|
168
|
+
* The index indicates which key will be returned on the next `get()` call.
|
|
169
|
+
*
|
|
170
|
+
* @param accountId - NEAR account ID
|
|
171
|
+
* @returns Current counter value (0-based index into key array)
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const index = keyStore.getCurrentIndex("alice.near")
|
|
176
|
+
* const totalKeys = (await keyStore.getAll("alice.near")).length
|
|
177
|
+
* console.log(`Next key: ${index % totalKeys}`)
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
getCurrentIndex(accountId: string): number;
|
|
181
|
+
/**
|
|
182
|
+
* Reset the rotation counter for an account.
|
|
183
|
+
*
|
|
184
|
+
* The next `get()` call will return the first key in the rotation.
|
|
185
|
+
*
|
|
186
|
+
* @param accountId - NEAR account ID
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* keyStore.resetCounter("alice.near")
|
|
191
|
+
* const key = await keyStore.get("alice.near") // Returns first key
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
resetCounter(accountId: string): void;
|
|
195
|
+
/**
|
|
196
|
+
* Clear all keys and counters from the keystore.
|
|
197
|
+
*
|
|
198
|
+
* Useful for testing cleanup or resetting state.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```typescript
|
|
202
|
+
* keyStore.clear()
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
clear(): void;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=rotating-keystore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rotating-keystore.d.ts","sourceRoot":"","sources":["../../src/keys/rotating-keystore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;;;;;;;;;;OAaG;gBACS,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAgBlD;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAerD;;;;;;;;;;;;;;;OAeG;IACG,GAAG,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,GACA,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAInD;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI1C;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { parseKey } from "../utils/key.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rotating key store that cycles through multiple keys per account.
|
|
4
|
+
*
|
|
5
|
+
* This keystore enables high-throughput concurrent transactions by rotating
|
|
6
|
+
* through multiple access keys for a single account. Each transaction uses
|
|
7
|
+
* a different key in round-robin fashion, eliminating nonce collisions.
|
|
8
|
+
*
|
|
9
|
+
* ## Use Cases
|
|
10
|
+
* - **High-throughput applications**: Send many concurrent transactions without nonce collisions
|
|
11
|
+
* - **Load balancing**: Distribute transaction load across multiple access keys
|
|
12
|
+
* - **Key rotation**: Seamlessly rotate keys without downtime
|
|
13
|
+
*
|
|
14
|
+
* ## How It Works
|
|
15
|
+
* - Each account can have multiple keys registered
|
|
16
|
+
* - `get()` returns the next key in round-robin order
|
|
17
|
+
* - Each key has independent nonce tracking via NonceManager
|
|
18
|
+
* - No nonce collisions between concurrent transactions
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Create keystore with multiple keys for one account
|
|
23
|
+
* const keyStore = new RotatingKeyStore()
|
|
24
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key1..."))
|
|
25
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key2..."))
|
|
26
|
+
* await keyStore.add("alice.near", parseKey("ed25519:key3..."))
|
|
27
|
+
*
|
|
28
|
+
* const near = new Near({ network: "testnet", keyStore })
|
|
29
|
+
*
|
|
30
|
+
* // Send 100 concurrent transactions - no nonce collisions!
|
|
31
|
+
* await Promise.all(
|
|
32
|
+
* Array(100).fill(0).map(() =>
|
|
33
|
+
* near.transaction("alice.near")
|
|
34
|
+
* .transfer("bob.near", "0.1")
|
|
35
|
+
* .send()
|
|
36
|
+
* )
|
|
37
|
+
* )
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* // Initialize with keys
|
|
43
|
+
* const keyStore = new RotatingKeyStore({
|
|
44
|
+
* "alice.near": [
|
|
45
|
+
* "ed25519:key1...",
|
|
46
|
+
* "ed25519:key2...",
|
|
47
|
+
* "ed25519:key3..."
|
|
48
|
+
* ]
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // Query rotation state
|
|
55
|
+
* const keys = await keyStore.getAll("alice.near")
|
|
56
|
+
* console.log(`Account has ${keys.length} keys`)
|
|
57
|
+
*
|
|
58
|
+
* const index = keyStore.getCurrentIndex("alice.near")
|
|
59
|
+
* console.log(`Currently at key index ${index}`)
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export class RotatingKeyStore {
|
|
63
|
+
/**
|
|
64
|
+
* Create a new rotating keystore.
|
|
65
|
+
*
|
|
66
|
+
* @param initialKeys - Optional initial keys to populate the store.
|
|
67
|
+
* Maps account IDs to arrays of private key strings.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const keyStore = new RotatingKeyStore({
|
|
72
|
+
* "alice.near": ["ed25519:key1...", "ed25519:key2..."],
|
|
73
|
+
* "bob.near": ["ed25519:key3..."]
|
|
74
|
+
* })
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
constructor(initialKeys) {
|
|
78
|
+
this.keys = new Map();
|
|
79
|
+
this.counters = new Map();
|
|
80
|
+
if (initialKeys) {
|
|
81
|
+
for (const [accountId, keyStrings] of Object.entries(initialKeys)) {
|
|
82
|
+
for (const keyString of keyStrings) {
|
|
83
|
+
const keyPair = parseKey(keyString);
|
|
84
|
+
const existing = this.keys.get(accountId) ?? [];
|
|
85
|
+
existing.push(keyPair);
|
|
86
|
+
this.keys.set(accountId, existing);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get the next key for an account using round-robin rotation.
|
|
93
|
+
*
|
|
94
|
+
* Each call to `get()` advances to the next key in the rotation.
|
|
95
|
+
* This is the core mechanism that enables concurrent transactions
|
|
96
|
+
* without nonce collisions.
|
|
97
|
+
*
|
|
98
|
+
* @param accountId - NEAR account ID
|
|
99
|
+
* @returns Next key in rotation, or null if no keys exist for account
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* // First call returns key1, second returns key2, third returns key3, fourth returns key1...
|
|
104
|
+
* const key1 = await keyStore.get("alice.near")
|
|
105
|
+
* const key2 = await keyStore.get("alice.near")
|
|
106
|
+
* const key3 = await keyStore.get("alice.near")
|
|
107
|
+
* const key4 = await keyStore.get("alice.near") // Back to key1
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
async get(accountId) {
|
|
111
|
+
const accountKeys = this.keys.get(accountId);
|
|
112
|
+
if (!accountKeys || accountKeys.length === 0) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
// Get current counter and increment for next call
|
|
116
|
+
const counter = this.counters.get(accountId) ?? 0;
|
|
117
|
+
const key = accountKeys[counter % accountKeys.length];
|
|
118
|
+
this.counters.set(accountId, counter + 1);
|
|
119
|
+
// We know key exists because we checked accountKeys.length > 0 above
|
|
120
|
+
return key ?? null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Add a key to an account's rotation pool.
|
|
124
|
+
*
|
|
125
|
+
* If the account already has keys, the new key is appended to the rotation.
|
|
126
|
+
* If this is the first key for the account, it becomes the starting key.
|
|
127
|
+
*
|
|
128
|
+
* @param accountId - NEAR account ID
|
|
129
|
+
* @param key - Key pair to add to rotation
|
|
130
|
+
* @param options - Optional metadata (preserved but not used for rotation)
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* await keyStore.add("alice.near", keyPair1)
|
|
135
|
+
* await keyStore.add("alice.near", keyPair2) // Now rotates between both
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
async add(accountId, key, _options) {
|
|
139
|
+
const existing = this.keys.get(accountId) ?? [];
|
|
140
|
+
existing.push(key);
|
|
141
|
+
this.keys.set(accountId, existing);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Remove all keys for an account from the rotation pool.
|
|
145
|
+
*
|
|
146
|
+
* This also resets the rotation counter for the account.
|
|
147
|
+
*
|
|
148
|
+
* @param accountId - NEAR account ID
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* await keyStore.remove("alice.near")
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
async remove(accountId) {
|
|
156
|
+
this.keys.delete(accountId);
|
|
157
|
+
this.counters.delete(accountId);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* List all account IDs in the keystore.
|
|
161
|
+
*
|
|
162
|
+
* @returns Array of account IDs that have at least one key
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const accounts = await keyStore.list()
|
|
167
|
+
* console.log(`Managing keys for: ${accounts.join(", ")}`)
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
async list() {
|
|
171
|
+
return Array.from(this.keys.keys());
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get all keys for an account (non-rotating).
|
|
175
|
+
*
|
|
176
|
+
* Returns all keys in the rotation pool without advancing the counter.
|
|
177
|
+
* Useful for inspecting or managing the key pool.
|
|
178
|
+
*
|
|
179
|
+
* @param accountId - NEAR account ID
|
|
180
|
+
* @returns Array of all key pairs for the account, or empty array if none exist
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const keys = await keyStore.getAll("alice.near")
|
|
185
|
+
* console.log(`Account has ${keys.length} keys in rotation`)
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
async getAll(accountId) {
|
|
189
|
+
return this.keys.get(accountId) ?? [];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get the current rotation index for an account.
|
|
193
|
+
*
|
|
194
|
+
* The index indicates which key will be returned on the next `get()` call.
|
|
195
|
+
*
|
|
196
|
+
* @param accountId - NEAR account ID
|
|
197
|
+
* @returns Current counter value (0-based index into key array)
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const index = keyStore.getCurrentIndex("alice.near")
|
|
202
|
+
* const totalKeys = (await keyStore.getAll("alice.near")).length
|
|
203
|
+
* console.log(`Next key: ${index % totalKeys}`)
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
getCurrentIndex(accountId) {
|
|
207
|
+
return this.counters.get(accountId) ?? 0;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Reset the rotation counter for an account.
|
|
211
|
+
*
|
|
212
|
+
* The next `get()` call will return the first key in the rotation.
|
|
213
|
+
*
|
|
214
|
+
* @param accountId - NEAR account ID
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```typescript
|
|
218
|
+
* keyStore.resetCounter("alice.near")
|
|
219
|
+
* const key = await keyStore.get("alice.near") // Returns first key
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
resetCounter(accountId) {
|
|
223
|
+
this.counters.set(accountId, 0);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Clear all keys and counters from the keystore.
|
|
227
|
+
*
|
|
228
|
+
* Useful for testing cleanup or resetting state.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```typescript
|
|
232
|
+
* keyStore.clear()
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
clear() {
|
|
236
|
+
this.keys.clear();
|
|
237
|
+
this.counters.clear();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=rotating-keystore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rotating-keystore.js","sourceRoot":"","sources":["../../src/keys/rotating-keystore.ts"],"names":[],"mappings":"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"}
|