@xyo-network/witness-blockchain-abstract 2.79.4 → 2.79.6
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/browser/Witness.d.cts +6 -2
- package/dist/browser/Witness.d.cts.map +1 -1
- package/dist/browser/Witness.d.mts +6 -2
- package/dist/browser/Witness.d.mts.map +1 -1
- package/dist/browser/Witness.d.ts +6 -2
- package/dist/browser/Witness.d.ts.map +1 -1
- package/dist/browser/index.cjs +79 -80
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +1 -0
- package/dist/browser/index.d.cts.map +1 -1
- package/dist/browser/index.d.mts +1 -0
- package/dist/browser/index.d.mts.map +1 -1
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +79 -80
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.cts +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.cts.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.mts +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.mts.map +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.ts +1 -1
- package/dist/browser/lib/checkIpfsUrl.d.ts.map +1 -1
- package/dist/browser/lib/getProviderFromEnv.d.cts +6 -2
- package/dist/browser/lib/getProviderFromEnv.d.cts.map +1 -1
- package/dist/browser/lib/getProviderFromEnv.d.mts +6 -2
- package/dist/browser/lib/getProviderFromEnv.d.mts.map +1 -1
- package/dist/browser/lib/getProviderFromEnv.d.ts +6 -2
- package/dist/browser/lib/getProviderFromEnv.d.ts.map +1 -1
- package/dist/browser/lib/index.d.cts +0 -1
- package/dist/browser/lib/index.d.cts.map +1 -1
- package/dist/browser/lib/index.d.mts +0 -1
- package/dist/browser/lib/index.d.mts.map +1 -1
- package/dist/browser/lib/index.d.ts +0 -1
- package/dist/browser/lib/index.d.ts.map +1 -1
- package/dist/browser/model.d.cts +9 -0
- package/dist/browser/model.d.cts.map +1 -0
- package/dist/browser/model.d.mts +9 -0
- package/dist/browser/model.d.mts.map +1 -0
- package/dist/browser/model.d.ts +9 -0
- package/dist/browser/model.d.ts.map +1 -0
- package/dist/node/Witness.d.cts +6 -2
- package/dist/node/Witness.d.cts.map +1 -1
- package/dist/node/Witness.d.mts +6 -2
- package/dist/node/Witness.d.mts.map +1 -1
- package/dist/node/Witness.d.ts +6 -2
- package/dist/node/Witness.d.ts.map +1 -1
- package/dist/node/index.cjs +82 -87
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +1 -0
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.mts +1 -0
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +79 -80
- package/dist/node/index.js.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.cts +1 -1
- package/dist/node/lib/checkIpfsUrl.d.cts.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.mts +1 -1
- package/dist/node/lib/checkIpfsUrl.d.mts.map +1 -1
- package/dist/node/lib/checkIpfsUrl.d.ts +1 -1
- package/dist/node/lib/checkIpfsUrl.d.ts.map +1 -1
- package/dist/node/lib/getProviderFromEnv.d.cts +6 -2
- package/dist/node/lib/getProviderFromEnv.d.cts.map +1 -1
- package/dist/node/lib/getProviderFromEnv.d.mts +6 -2
- package/dist/node/lib/getProviderFromEnv.d.mts.map +1 -1
- package/dist/node/lib/getProviderFromEnv.d.ts +6 -2
- package/dist/node/lib/getProviderFromEnv.d.ts.map +1 -1
- package/dist/node/lib/index.d.cts +0 -1
- package/dist/node/lib/index.d.cts.map +1 -1
- package/dist/node/lib/index.d.mts +0 -1
- package/dist/node/lib/index.d.mts.map +1 -1
- package/dist/node/lib/index.d.ts +0 -1
- package/dist/node/lib/index.d.ts.map +1 -1
- package/dist/node/model.d.cts +9 -0
- package/dist/node/model.d.cts.map +1 -0
- package/dist/node/model.d.mts +9 -0
- package/dist/node/model.d.mts.map +1 -0
- package/dist/node/model.d.ts +9 -0
- package/dist/node/model.d.ts.map +1 -0
- package/package.json +9 -7
- package/src/Witness.ts +20 -3
- package/src/index.ts +1 -0
- package/src/lib/checkIpfsUrl.ts +20 -6
- package/src/lib/getProviderFromEnv.ts +62 -25
- package/src/lib/index.ts +0 -1
- package/src/model.ts +13 -0
- package/dist/browser/lib/getErc1967Status.d.cts +0 -19
- package/dist/browser/lib/getErc1967Status.d.cts.map +0 -1
- package/dist/browser/lib/getErc1967Status.d.mts +0 -19
- package/dist/browser/lib/getErc1967Status.d.mts.map +0 -1
- package/dist/browser/lib/getErc1967Status.d.ts +0 -19
- package/dist/browser/lib/getErc1967Status.d.ts.map +0 -1
- package/dist/node/lib/getErc1967Status.d.cts +0 -19
- package/dist/node/lib/getErc1967Status.d.cts.map +0 -1
- package/dist/node/lib/getErc1967Status.d.mts +0 -19
- package/dist/node/lib/getErc1967Status.d.mts.map +0 -1
- package/dist/node/lib/getErc1967Status.d.ts +0 -19
- package/dist/node/lib/getErc1967Status.d.ts.map +0 -1
- package/src/lib/getErc1967Status.ts +0 -63
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseProvider } from '@ethersproject/providers';
|
|
2
|
+
import { Promisable } from '@xylabs/promise';
|
|
2
3
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
4
|
import { AnyObject, WithAdditional } from '@xyo-network/object';
|
|
4
5
|
import { Payload } from '@xyo-network/payload-model';
|
|
@@ -12,9 +13,12 @@ export type AdditionalBlockchainWitnessParams = {
|
|
|
12
13
|
providers: BaseProvider[];
|
|
13
14
|
};
|
|
14
15
|
export type BlockchainWitnessParams<TConfig extends BlockchainWitnessConfig = BlockchainWitnessConfig, TAdditionalParams extends AnyObject | void = void> = WitnessParams<TConfig, WithAdditional<{
|
|
15
|
-
providers: BaseProvider[]
|
|
16
|
+
providers: () => Promisable<BaseProvider[]>;
|
|
16
17
|
}, TAdditionalParams>>;
|
|
17
18
|
export declare abstract class AbstractBlockchainWitness<TParams extends BlockchainWitnessParams = BlockchainWitnessParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut> = WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractWitness<TParams, TIn, TOut, TEventData> {
|
|
18
|
-
|
|
19
|
+
private _providers;
|
|
20
|
+
getProvider(cache?: boolean): Promise<BaseProvider | undefined>;
|
|
21
|
+
getProvider(cache: boolean, error: string | true): Promise<BaseProvider>;
|
|
22
|
+
getProviders(cache?: boolean): Promise<BaseProvider[]>;
|
|
19
23
|
}
|
|
20
24
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;CAC5C,EACD,iBAAiB,CAClB,CACF,CAAA;AAED,8BAAsB,yBAAyB,CAC7C,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,OAAO,CAAC,UAAU,CAAwC;IAEpD,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/D,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAYxE,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAK3D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseProvider } from '@ethersproject/providers';
|
|
2
|
+
import { Promisable } from '@xylabs/promise';
|
|
2
3
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
4
|
import { AnyObject, WithAdditional } from '@xyo-network/object';
|
|
4
5
|
import { Payload } from '@xyo-network/payload-model';
|
|
@@ -12,9 +13,12 @@ export type AdditionalBlockchainWitnessParams = {
|
|
|
12
13
|
providers: BaseProvider[];
|
|
13
14
|
};
|
|
14
15
|
export type BlockchainWitnessParams<TConfig extends BlockchainWitnessConfig = BlockchainWitnessConfig, TAdditionalParams extends AnyObject | void = void> = WitnessParams<TConfig, WithAdditional<{
|
|
15
|
-
providers: BaseProvider[]
|
|
16
|
+
providers: () => Promisable<BaseProvider[]>;
|
|
16
17
|
}, TAdditionalParams>>;
|
|
17
18
|
export declare abstract class AbstractBlockchainWitness<TParams extends BlockchainWitnessParams = BlockchainWitnessParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut> = WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractWitness<TParams, TIn, TOut, TEventData> {
|
|
18
|
-
|
|
19
|
+
private _providers;
|
|
20
|
+
getProvider(cache?: boolean): Promise<BaseProvider | undefined>;
|
|
21
|
+
getProvider(cache: boolean, error: string | true): Promise<BaseProvider>;
|
|
22
|
+
getProviders(cache?: boolean): Promise<BaseProvider[]>;
|
|
19
23
|
}
|
|
20
24
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;CAC5C,EACD,iBAAiB,CAClB,CACF,CAAA;AAED,8BAAsB,yBAAyB,CAC7C,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,OAAO,CAAC,UAAU,CAAwC;IAEpD,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/D,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAYxE,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAK3D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseProvider } from '@ethersproject/providers';
|
|
2
|
+
import { Promisable } from '@xylabs/promise';
|
|
2
3
|
import { AbstractWitness } from '@xyo-network/abstract-witness';
|
|
3
4
|
import { AnyObject, WithAdditional } from '@xyo-network/object';
|
|
4
5
|
import { Payload } from '@xyo-network/payload-model';
|
|
@@ -12,9 +13,12 @@ export type AdditionalBlockchainWitnessParams = {
|
|
|
12
13
|
providers: BaseProvider[];
|
|
13
14
|
};
|
|
14
15
|
export type BlockchainWitnessParams<TConfig extends BlockchainWitnessConfig = BlockchainWitnessConfig, TAdditionalParams extends AnyObject | void = void> = WitnessParams<TConfig, WithAdditional<{
|
|
15
|
-
providers: BaseProvider[]
|
|
16
|
+
providers: () => Promisable<BaseProvider[]>;
|
|
16
17
|
}, TAdditionalParams>>;
|
|
17
18
|
export declare abstract class AbstractBlockchainWitness<TParams extends BlockchainWitnessParams = BlockchainWitnessParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut> = WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractWitness<TParams, TIn, TOut, TEventData> {
|
|
18
|
-
|
|
19
|
+
private _providers;
|
|
20
|
+
getProvider(cache?: boolean): Promise<BaseProvider | undefined>;
|
|
21
|
+
getProvider(cache: boolean, error: string | true): Promise<BaseProvider>;
|
|
22
|
+
getProviders(cache?: boolean): Promise<BaseProvider[]>;
|
|
19
23
|
}
|
|
20
24
|
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAElH,eAAO,MAAM,6BAA6B,mCAAmC,CAAA;AAC7E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,aAAa,CAClJ,WAAW,GAAG;IAAE,MAAM,EAAE,OAAO,SAAS,IAAI,GAAG,CAAC,WAAW,SAAS,IAAI,GAAG,MAAM,GAAG,6BAA6B,CAAC,GAAG,OAAO,CAAA;CAAE,CAC/H,CAAA;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,iBAAiB,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC/C,aAAa,CACf,OAAO,EACP,cAAc,CACZ;IACE,SAAS,EAAE,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;CAC5C,EACD,iBAAiB,CAClB,CACF,CAAA;AAED,8BAAsB,yBAAyB,CAC7C,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,OAAO,CAAC,UAAU,CAAwC;IAEpD,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/D,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAYxE,YAAY,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAK3D"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -21,20 +21,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
AbstractBlockchainWitness: () => AbstractBlockchainWitness,
|
|
24
|
+
BlockchainAddressSchema: () => BlockchainAddressSchema,
|
|
24
25
|
BlockchainWitnessConfigSchema: () => BlockchainWitnessConfigSchema,
|
|
25
|
-
ERC1967_PROXY_ADMIN_STORAGE_SLOT: () => ERC1967_PROXY_ADMIN_STORAGE_SLOT,
|
|
26
|
-
ERC1967_PROXY_BEACON_STORAGE_SLOT: () => ERC1967_PROXY_BEACON_STORAGE_SLOT,
|
|
27
|
-
ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT: () => ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT,
|
|
28
|
-
ERC1967_PROXY_ROLLBACK_STORAGE_SLOT: () => ERC1967_PROXY_ROLLBACK_STORAGE_SLOT,
|
|
29
26
|
checkIpfsUrl: () => checkIpfsUrl,
|
|
30
|
-
getErc1967Status: () => getErc1967Status,
|
|
31
27
|
getProviderFromEnv: () => getProviderFromEnv,
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
getProvidersFromEnv: () => getProvidersFromEnv,
|
|
29
|
+
getSharedProviderFromEnv: () => getSharedProviderFromEnv
|
|
34
30
|
});
|
|
35
31
|
module.exports = __toCommonJS(src_exports);
|
|
36
32
|
|
|
37
33
|
// src/lib/checkIpfsUrl.ts
|
|
34
|
+
var import_assert = require("@xylabs/assert");
|
|
35
|
+
var allowIpfsIoRepair = true;
|
|
38
36
|
var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
|
|
39
37
|
try {
|
|
40
38
|
const url = new URL(urlToCheck);
|
|
@@ -44,99 +42,79 @@ var checkIpfsUrl = (urlToCheck, ipfsGateway) => {
|
|
|
44
42
|
const query = url.search;
|
|
45
43
|
if (protocol === "ipfs:") {
|
|
46
44
|
protocol = "https:";
|
|
47
|
-
host = ipfsGateway;
|
|
45
|
+
host = (0, import_assert.assertEx)(ipfsGateway, "No ipfsGateway provided");
|
|
48
46
|
path = url.host === "ipfs" ? `ipfs${path}` : `ipfs/${url.host}${path}`;
|
|
49
47
|
const root = `${protocol}//${host}/${path}`;
|
|
50
48
|
return query?.length > 0 ? `${root}?${query}` : root;
|
|
49
|
+
} else if (allowIpfsIoRepair && protocol === "https" && host === "ipfs.io") {
|
|
50
|
+
protocol = "https:";
|
|
51
|
+
host = (0, import_assert.assertEx)(ipfsGateway, "No ipfsGateway provided");
|
|
52
|
+
const pathParts = path.split("/");
|
|
53
|
+
if (pathParts[0] === "ipfs") {
|
|
54
|
+
pathParts.shift();
|
|
55
|
+
}
|
|
56
|
+
path = pathParts.join("/");
|
|
57
|
+
const root = `${protocol}//${host}/${path}`;
|
|
58
|
+
return query?.length > 0 ? `${root}?${query}` : root;
|
|
51
59
|
} else {
|
|
52
60
|
return urlToCheck;
|
|
53
61
|
}
|
|
54
62
|
} catch (ex) {
|
|
55
|
-
|
|
56
|
-
console.error(`${error.name}:${error.message} [${urlToCheck}]`);
|
|
57
|
-
console.log(error.stack);
|
|
58
|
-
return void 0;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
// src/lib/getErc1967Status.ts
|
|
63
|
-
var import_bignumber = require("@xylabs/bignumber");
|
|
64
|
-
var import_open_zeppelin_typechain = require("@xyo-network/open-zeppelin-typechain");
|
|
65
|
-
var ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc";
|
|
66
|
-
var ERC1967_PROXY_BEACON_STORAGE_SLOT = "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50";
|
|
67
|
-
var ERC1967_PROXY_ADMIN_STORAGE_SLOT = "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103";
|
|
68
|
-
var ERC1967_PROXY_ROLLBACK_STORAGE_SLOT = "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143";
|
|
69
|
-
var hexBytesOnlyOnly = (value) => {
|
|
70
|
-
return value.startsWith("0x") ? value.substring(2) : value;
|
|
71
|
-
};
|
|
72
|
-
var addressFromHex = (value) => {
|
|
73
|
-
return `0x${hexBytesOnlyOnly(value).substring(24)}`;
|
|
74
|
-
};
|
|
75
|
-
var isHexZero = (value) => {
|
|
76
|
-
return new import_bignumber.BigNumber(hexBytesOnlyOnly(value), "hex").eqn(0);
|
|
77
|
-
};
|
|
78
|
-
var readAddressFromSlot = async (provider, address, slot) => {
|
|
79
|
-
const slotValue = await provider.getStorageAt(address, slot);
|
|
80
|
-
return addressFromHex(slotValue);
|
|
81
|
-
};
|
|
82
|
-
var getErc1967Status = async (provider, address) => {
|
|
83
|
-
const proxy = {
|
|
84
|
-
admin: await readAddressFromSlot(provider, address, ERC1967_PROXY_ADMIN_STORAGE_SLOT),
|
|
85
|
-
beacon: await readAddressFromSlot(provider, address, ERC1967_PROXY_BEACON_STORAGE_SLOT),
|
|
86
|
-
implementation: await readAddressFromSlot(provider, address, ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT),
|
|
87
|
-
rollback: await readAddressFromSlot(provider, address, ERC1967_PROXY_ROLLBACK_STORAGE_SLOT)
|
|
88
|
-
};
|
|
89
|
-
if (!isHexZero(proxy.beacon)) {
|
|
90
|
-
const beacon = import_open_zeppelin_typechain.UpgradeableBeacon__factory.connect(proxy.beacon, provider);
|
|
91
|
-
try {
|
|
92
|
-
proxy.implementation = await beacon.callStatic.implementation();
|
|
93
|
-
} catch (ex) {
|
|
94
|
-
const error = ex;
|
|
95
|
-
console.log(error.message);
|
|
96
|
-
}
|
|
63
|
+
return urlToCheck;
|
|
97
64
|
}
|
|
98
|
-
return {
|
|
99
|
-
address,
|
|
100
|
-
implementation: isHexZero(proxy.implementation) ? address : proxy.implementation,
|
|
101
|
-
proxy
|
|
102
|
-
};
|
|
103
65
|
};
|
|
104
66
|
|
|
105
67
|
// src/lib/getProviderFromEnv.ts
|
|
106
68
|
var import_providers = require("@ethersproject/providers");
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
|
|
69
|
+
var import_assert2 = require("@xylabs/assert");
|
|
70
|
+
var enableConfigOverride = false;
|
|
71
|
+
var configureConnection = (connection, { timeout = 1e3 } = {}) => {
|
|
72
|
+
if (connection && enableConfigOverride) {
|
|
73
|
+
connection.timeout = timeout;
|
|
74
|
+
connection.throttleCallback = async (attempt, url) => {
|
|
75
|
+
console.log(`throttleCallback[${attempt}]: ${url}`);
|
|
76
|
+
return await Promise.resolve(true);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var createInfuraRpc = (chainId, overrides) => {
|
|
81
|
+
const provider = process.env.INFURA_PROJECT_ID && process.env.INFURA_PROJECT_SECRET ? new import_providers.InfuraProvider(chainId, {
|
|
110
82
|
projectId: process.env.INFURA_PROJECT_ID,
|
|
111
83
|
projectSecret: process.env.INFURA_PROJECT_SECRET
|
|
112
|
-
});
|
|
84
|
+
}) : void 0;
|
|
85
|
+
configureConnection(provider?.connection, overrides);
|
|
86
|
+
return provider;
|
|
113
87
|
};
|
|
114
|
-
var createInfuraWss = (chainId) => {
|
|
115
|
-
|
|
88
|
+
var createInfuraWss = (chainId, overrides) => {
|
|
89
|
+
const provider = process.env.INFURA_PROJECT_ID ? new import_providers.InfuraWebSocketProvider(chainId, {
|
|
116
90
|
projectId: process.env.INFURA_PROJECT_ID
|
|
117
|
-
});
|
|
91
|
+
}) : void 0;
|
|
92
|
+
configureConnection(provider?.connection, overrides);
|
|
93
|
+
return provider;
|
|
118
94
|
};
|
|
119
|
-
var createQuicknodeWss = (chainId) => {
|
|
95
|
+
var createQuicknodeWss = (chainId, overrides) => {
|
|
120
96
|
const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI;
|
|
121
|
-
|
|
97
|
+
const provider = quickNodeWSSUri ? new import_providers.WebSocketProvider(quickNodeWSSUri, chainId) : void 0;
|
|
98
|
+
configureConnection(provider?.connection, overrides);
|
|
99
|
+
return provider;
|
|
122
100
|
};
|
|
123
|
-
var createQuicknodeRpc = (chainId) => {
|
|
101
|
+
var createQuicknodeRpc = (chainId, overrides) => {
|
|
124
102
|
const quickNodeHttpsUri = process.env.QUICKNODE_HTTPS_URI;
|
|
125
|
-
|
|
103
|
+
const provider = quickNodeHttpsUri ? new import_providers.JsonRpcProvider(quickNodeHttpsUri, chainId) : void 0;
|
|
104
|
+
configureConnection(provider?.connection, overrides);
|
|
105
|
+
return provider;
|
|
126
106
|
};
|
|
127
|
-
var getProviderFromEnv = (chainId = 1,
|
|
128
|
-
const { providerSource, providerType } = options ?? {};
|
|
107
|
+
var getProviderFromEnv = (chainId = 1, { providerSource = "infura", providerType = "rpc", overrides } = {}) => {
|
|
129
108
|
let provider = void 0;
|
|
130
109
|
switch (providerSource) {
|
|
131
110
|
case "quicknode": {
|
|
132
111
|
switch (providerType) {
|
|
133
112
|
case "rpc": {
|
|
134
|
-
provider = createQuicknodeRpc(chainId);
|
|
113
|
+
provider = createQuicknodeRpc(chainId, overrides);
|
|
135
114
|
break;
|
|
136
115
|
}
|
|
137
|
-
case "wss":
|
|
138
|
-
|
|
139
|
-
provider = createQuicknodeWss(chainId);
|
|
116
|
+
case "wss": {
|
|
117
|
+
provider = createQuicknodeWss(chainId, overrides);
|
|
140
118
|
break;
|
|
141
119
|
}
|
|
142
120
|
}
|
|
@@ -145,13 +123,12 @@ var getProviderFromEnv = (chainId = 1, options) => {
|
|
|
145
123
|
default:
|
|
146
124
|
case "infura": {
|
|
147
125
|
switch (providerType) {
|
|
148
|
-
case "
|
|
149
|
-
provider =
|
|
126
|
+
case "wss": {
|
|
127
|
+
provider = createInfuraWss(chainId, overrides);
|
|
150
128
|
break;
|
|
151
129
|
}
|
|
152
|
-
case "
|
|
153
|
-
|
|
154
|
-
provider = createInfuraWss(chainId);
|
|
130
|
+
case "rpc": {
|
|
131
|
+
provider = createInfuraRpc(chainId, overrides);
|
|
155
132
|
break;
|
|
156
133
|
}
|
|
157
134
|
}
|
|
@@ -161,7 +138,7 @@ var getProviderFromEnv = (chainId = 1, options) => {
|
|
|
161
138
|
if (!provider) {
|
|
162
139
|
provider = createInfuraWss(chainId) ?? createInfuraRpc(chainId) ?? createQuicknodeRpc(chainId);
|
|
163
140
|
}
|
|
164
|
-
return (0,
|
|
141
|
+
return (0, import_assert2.assertEx)(provider, `Unable to create provider [${chainId}]: ${providerSource}|${providerType}`);
|
|
165
142
|
};
|
|
166
143
|
var providers = {};
|
|
167
144
|
var getSharedProviderFromEnv = (chainId = 1, options) => {
|
|
@@ -169,14 +146,36 @@ var getSharedProviderFromEnv = (chainId = 1, options) => {
|
|
|
169
146
|
providers[key] = providers[key] ?? getProviderFromEnv(chainId, options);
|
|
170
147
|
return providers[key];
|
|
171
148
|
};
|
|
149
|
+
var getProvidersFromEnv = (count = 1, chainId = 1, options = {}) => {
|
|
150
|
+
const result = [];
|
|
151
|
+
for (let i = 0; i < count; i++) {
|
|
152
|
+
result.push(getProviderFromEnv(chainId, options));
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
// src/model.ts
|
|
158
|
+
var BlockchainAddressSchema = "network.xyo.blockchain.address";
|
|
172
159
|
|
|
173
160
|
// src/Witness.ts
|
|
174
161
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
175
162
|
var BlockchainWitnessConfigSchema = "network.xyo.blockchain.witness";
|
|
176
163
|
var AbstractBlockchainWitness = class extends import_abstract_witness.AbstractWitness {
|
|
177
|
-
|
|
178
|
-
|
|
164
|
+
_providers = void 0;
|
|
165
|
+
async getProvider(cache = false, error) {
|
|
166
|
+
const providers2 = await this.getProviders(cache);
|
|
167
|
+
if (providers2.length === 0) {
|
|
168
|
+
if (error) {
|
|
169
|
+
throw Error(typeof error === "string" ? error : "No providers available");
|
|
170
|
+
}
|
|
171
|
+
return void 0;
|
|
172
|
+
}
|
|
179
173
|
return providers2[Date.now() % providers2.length];
|
|
180
174
|
}
|
|
175
|
+
async getProviders(cache = false) {
|
|
176
|
+
const cachedProviders = cache ? this._providers : void 0;
|
|
177
|
+
this._providers = cachedProviders ?? await this.params.providers();
|
|
178
|
+
return this._providers;
|
|
179
|
+
}
|
|
181
180
|
};
|
|
182
181
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/lib/checkIpfsUrl.ts","../../src/lib/getErc1967Status.ts","../../src/lib/getProviderFromEnv.ts","../../src/Witness.ts"],"sourcesContent":["export * from './lib'\nexport * from './Witness'\n","/**\n * Returns the equivalent IPFS gateway URL for the supplied URL.\n * @param urlToCheck The URL to check\n * @returns If the supplied URL is an IPFS URL, it converts the URL to the\n * equivalent IPFS gateway URL. Otherwise, returns the original URL.\n */\nexport const checkIpfsUrl = (urlToCheck: string, ipfsGateway: string) => {\n try {\n const url = new URL(urlToCheck)\n let protocol = url.protocol\n let host = url.host\n let path = url.pathname\n const query = url.search\n if (protocol === 'ipfs:') {\n protocol = 'https:'\n host = ipfsGateway\n path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else {\n return urlToCheck\n }\n } catch (ex) {\n const error = ex as Error\n console.error(`${error.name}:${error.message} [${urlToCheck}]`)\n console.log(error.stack)\n return undefined\n }\n}\n","import { BaseProvider } from '@ethersproject/providers'\nimport { BigNumber } from '@xylabs/bignumber'\nimport { UpgradeableBeacon__factory } from '@xyo-network/open-zeppelin-typechain'\n\nexport const ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT = '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc'\nexport const ERC1967_PROXY_BEACON_STORAGE_SLOT = '0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50'\nexport const ERC1967_PROXY_ADMIN_STORAGE_SLOT = '0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103'\nexport const ERC1967_PROXY_ROLLBACK_STORAGE_SLOT = '0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143'\n\nexport interface Erc1967DataSlots {\n admin: string\n beacon: string\n implementation: string\n rollback: string\n}\n\nexport interface Erc1967Status {\n address: string\n implementation: string\n proxy: Erc1967DataSlots\n}\n\nconst hexBytesOnlyOnly = (value: string) => {\n return value.startsWith('0x') ? value.substring(2) : value\n}\n\nconst addressFromHex = (value: string) => {\n return `0x${hexBytesOnlyOnly(value).substring(24)}`\n}\n\nconst isHexZero = (value: string) => {\n return new BigNumber(hexBytesOnlyOnly(value), 'hex').eqn(0)\n}\n\nexport const readAddressFromSlot = async (provider: BaseProvider, address: string, slot: string) => {\n const slotValue = await provider.getStorageAt(address, slot)\n return addressFromHex(slotValue)\n}\n\nexport const getErc1967Status = async (provider: BaseProvider, address: string): Promise<Erc1967Status> => {\n const proxy: Erc1967DataSlots = {\n admin: await readAddressFromSlot(provider, address, ERC1967_PROXY_ADMIN_STORAGE_SLOT),\n beacon: await readAddressFromSlot(provider, address, ERC1967_PROXY_BEACON_STORAGE_SLOT),\n implementation: await readAddressFromSlot(provider, address, ERC1967_PROXY_IMPLEMENTATION_STORAGE_SLOT),\n rollback: await readAddressFromSlot(provider, address, ERC1967_PROXY_ROLLBACK_STORAGE_SLOT),\n }\n\n if (!isHexZero(proxy.beacon)) {\n const beacon = UpgradeableBeacon__factory.connect(proxy.beacon, provider)\n try {\n proxy.implementation = await beacon.callStatic.implementation()\n } catch (ex) {\n const error = ex as Error\n console.log(error.message)\n }\n }\n\n return {\n address,\n implementation: isHexZero(proxy.implementation) ? address : proxy.implementation,\n proxy,\n }\n}\n","import { BaseProvider, InfuraProvider, InfuraWebSocketProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers'\nimport { assertEx } from '@xylabs/assert'\n\nexport type ProviderSource = 'infura' | 'quicknode'\nexport type ProviderType = 'rpc' | 'wss'\n\nconst createInfuraRpc = (chainId: number) => {\n return new InfuraProvider(chainId, {\n projectId: process.env.INFURA_PROJECT_ID,\n projectSecret: process.env.INFURA_PROJECT_SECRET,\n })\n}\n\nconst createInfuraWss = (chainId: number) => {\n return new InfuraWebSocketProvider(chainId, {\n projectId: process.env.INFURA_PROJECT_ID,\n })\n}\n\nconst createQuicknodeWss = (chainId: number) => {\n const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI\n return quickNodeWSSUri ? new WebSocketProvider(quickNodeWSSUri, chainId) : undefined\n}\n\nconst createQuicknodeRpc = (chainId: number) => {\n const quickNodeHttpsUri = process.env.QUICKNODE_HTTPS_URI\n return quickNodeHttpsUri ? new JsonRpcProvider(quickNodeHttpsUri, chainId) : undefined\n}\n\nexport const getProviderFromEnv = (\n chainId: number = 0x01,\n options?: { providerSource?: ProviderSource; providerType?: ProviderType },\n): BaseProvider => {\n const { providerSource, providerType } = options ?? {}\n let provider: BaseProvider | undefined = undefined\n switch (providerSource) {\n case 'quicknode': {\n switch (providerType) {\n case 'rpc': {\n provider = createQuicknodeRpc(chainId)\n break\n }\n case 'wss':\n default: {\n provider = createQuicknodeWss(chainId)\n break\n }\n }\n break\n }\n default:\n case 'infura': {\n switch (providerType) {\n case 'rpc': {\n provider = createInfuraRpc(chainId)\n break\n }\n case 'wss':\n default: {\n provider = createInfuraWss(chainId)\n break\n }\n }\n break\n }\n }\n if (!provider) {\n provider = createInfuraWss(chainId) ?? createInfuraRpc(chainId) ?? createQuicknodeRpc(chainId)\n }\n return assertEx(provider, `Unable to create provider [${chainId}]: ${options ? JSON.stringify(options) : 'default'}`)\n}\n\nconst providers: Record<string, BaseProvider> = {}\n\nexport const getSharedProviderFromEnv = (\n chainId: number = 0x01,\n options?: { providerSource?: ProviderSource; providerType?: ProviderType },\n): BaseProvider => {\n const key = `${chainId}:${options ? JSON.stringify(options) : 'default'}`\n providers[key] = providers[key] ?? getProviderFromEnv(chainId, options)\n return providers[key]\n}\n","import { BaseProvider } from '@ethersproject/providers'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyObject, WithAdditional } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessConfig, WitnessInstance, WitnessModuleEventData, WitnessParams } from '@xyo-network/witness-model'\n\nexport const BlockchainWitnessConfigSchema = 'network.xyo.blockchain.witness'\nexport type BlockchainWitnessConfigSchema = typeof BlockchainWitnessConfigSchema\n\nexport type BlockchainWitnessConfig<TAdditional extends Omit<Payload, 'schema'> | void = void, TSchema extends string | void = void> = WitnessConfig<\n TAdditional & { schema: TSchema extends void ? (TAdditional extends void ? string : BlockchainWitnessConfigSchema) : TSchema }\n>\n\nexport type AdditionalBlockchainWitnessParams = {\n providers: BaseProvider[]\n}\n\nexport type BlockchainWitnessParams<\n TConfig extends BlockchainWitnessConfig = BlockchainWitnessConfig,\n TAdditionalParams extends AnyObject | void = void,\n> = WitnessParams<\n TConfig,\n WithAdditional<\n {\n providers: BaseProvider[]\n },\n TAdditionalParams\n >\n>\n\nexport abstract class AbstractBlockchainWitness<\n TParams extends BlockchainWitnessParams = BlockchainWitnessParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut> = WitnessModuleEventData<\n WitnessInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractWitness<TParams, TIn, TOut, TEventData> {\n get provider() {\n const { providers } = this.params\n return providers[Date.now() % providers.length] //pick a random provider\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMO,IAAM,eAAe,CAAC,YAAoB,gBAAwB;AACvE,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,UAAU;AAC9B,QAAI,WAAW,IAAI;AACnB,QAAI,OAAO,IAAI;AACf,QAAI,OAAO,IAAI;AACf,UAAM,QAAQ,IAAI;AAClB,QAAI,aAAa,SAAS;AACxB,iBAAW;AACX,aAAO;AACP,aAAO,IAAI,SAAS,SAAS,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,IAAI;AACpE,YAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI;AACzC,aAAO,OAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK;AAAA,IAClD,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,SAAS,IAAI;AACX,UAAM,QAAQ;AACd,YAAQ,MAAM,GAAG,MAAM,IAAI,IAAI,MAAM,OAAO,KAAK,UAAU,GAAG;AAC9D,YAAQ,IAAI,MAAM,KAAK;AACvB,WAAO;AAAA,EACT;AACF;;;AC3BA,uBAA0B;AAC1B,qCAA2C;AAEpC,IAAM,4CAA4C;AAClD,IAAM,oCAAoC;AAC1C,IAAM,mCAAmC;AACzC,IAAM,sCAAsC;AAenD,IAAM,mBAAmB,CAAC,UAAkB;AAC1C,SAAO,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI;AACvD;AAEA,IAAM,iBAAiB,CAAC,UAAkB;AACxC,SAAO,KAAK,iBAAiB,KAAK,EAAE,UAAU,EAAE,CAAC;AACnD;AAEA,IAAM,YAAY,CAAC,UAAkB;AACnC,SAAO,IAAI,2BAAU,iBAAiB,KAAK,GAAG,KAAK,EAAE,IAAI,CAAC;AAC5D;AAEO,IAAM,sBAAsB,OAAO,UAAwB,SAAiB,SAAiB;AAClG,QAAM,YAAY,MAAM,SAAS,aAAa,SAAS,IAAI;AAC3D,SAAO,eAAe,SAAS;AACjC;AAEO,IAAM,mBAAmB,OAAO,UAAwB,YAA4C;AACzG,QAAM,QAA0B;AAAA,IAC9B,OAAO,MAAM,oBAAoB,UAAU,SAAS,gCAAgC;AAAA,IACpF,QAAQ,MAAM,oBAAoB,UAAU,SAAS,iCAAiC;AAAA,IACtF,gBAAgB,MAAM,oBAAoB,UAAU,SAAS,yCAAyC;AAAA,IACtG,UAAU,MAAM,oBAAoB,UAAU,SAAS,mCAAmC;AAAA,EAC5F;AAEA,MAAI,CAAC,UAAU,MAAM,MAAM,GAAG;AAC5B,UAAM,SAAS,0DAA2B,QAAQ,MAAM,QAAQ,QAAQ;AACxE,QAAI;AACF,YAAM,iBAAiB,MAAM,OAAO,WAAW,eAAe;AAAA,IAChE,SAAS,IAAI;AACX,YAAM,QAAQ;AACd,cAAQ,IAAI,MAAM,OAAO;AAAA,IAC3B;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,gBAAgB,UAAU,MAAM,cAAc,IAAI,UAAU,MAAM;AAAA,IAClE;AAAA,EACF;AACF;;;AC9DA,uBAA0G;AAC1G,oBAAyB;AAKzB,IAAM,kBAAkB,CAAC,YAAoB;AAC3C,SAAO,IAAI,gCAAe,SAAS;AAAA,IACjC,WAAW,QAAQ,IAAI;AAAA,IACvB,eAAe,QAAQ,IAAI;AAAA,EAC7B,CAAC;AACH;AAEA,IAAM,kBAAkB,CAAC,YAAoB;AAC3C,SAAO,IAAI,yCAAwB,SAAS;AAAA,IAC1C,WAAW,QAAQ,IAAI;AAAA,EACzB,CAAC;AACH;AAEA,IAAM,qBAAqB,CAAC,YAAoB;AAC9C,QAAM,kBAAkB,QAAQ,IAAI;AACpC,SAAO,kBAAkB,IAAI,mCAAkB,iBAAiB,OAAO,IAAI;AAC7E;AAEA,IAAM,qBAAqB,CAAC,YAAoB;AAC9C,QAAM,oBAAoB,QAAQ,IAAI;AACtC,SAAO,oBAAoB,IAAI,iCAAgB,mBAAmB,OAAO,IAAI;AAC/E;AAEO,IAAM,qBAAqB,CAChC,UAAkB,GAClB,YACiB;AACjB,QAAM,EAAE,gBAAgB,aAAa,IAAI,WAAW,CAAC;AACrD,MAAI,WAAqC;AACzC,UAAQ,gBAAgB;AAAA,IACtB,KAAK,aAAa;AAChB,cAAQ,cAAc;AAAA,QACpB,KAAK,OAAO;AACV,qBAAW,mBAAmB,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,SAAS;AACP,qBAAW,mBAAmB,OAAO;AACrC;AAAA,QACF;AAAA,MACF;AACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,KAAK,UAAU;AACb,cAAQ,cAAc;AAAA,QACpB,KAAK,OAAO;AACV,qBAAW,gBAAgB,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,SAAS;AACP,qBAAW,gBAAgB,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,UAAU;AACb,eAAW,gBAAgB,OAAO,KAAK,gBAAgB,OAAO,KAAK,mBAAmB,OAAO;AAAA,EAC/F;AACA,aAAO,wBAAS,UAAU,8BAA8B,OAAO,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,SAAS,EAAE;AACtH;AAEA,IAAM,YAA0C,CAAC;AAE1C,IAAM,2BAA2B,CACtC,UAAkB,GAClB,YACiB;AACjB,QAAM,MAAM,GAAG,OAAO,IAAI,UAAU,KAAK,UAAU,OAAO,IAAI,SAAS;AACvE,YAAU,GAAG,IAAI,UAAU,GAAG,KAAK,mBAAmB,SAAS,OAAO;AACtE,SAAO,UAAU,GAAG;AACtB;;;AChFA,8BAAgC;AAKzB,IAAM,gCAAgC;AAwBtC,IAAe,4BAAf,cASG,wCAAgD;AAAA,EACxD,IAAI,WAAW;AACb,UAAM,EAAE,WAAAA,WAAU,IAAI,KAAK;AAC3B,WAAOA,WAAU,KAAK,IAAI,IAAIA,WAAU,MAAM;AAAA,EAChD;AACF;","names":["providers"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/lib/checkIpfsUrl.ts","../../src/lib/getProviderFromEnv.ts","../../src/model.ts","../../src/Witness.ts"],"sourcesContent":["export * from './lib'\nexport * from './model'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\n\nconst allowIpfsIoRepair = true\n\n/**\n * Returns the equivalent IPFS gateway URL for the supplied URL.\n * @param urlToCheck The URL to check\n * @returns If the supplied URL is an IPFS URL, it converts the URL to the\n * equivalent IPFS gateway URL. Otherwise, returns the original URL.\n */\nexport const checkIpfsUrl = (urlToCheck: string, ipfsGateway?: string): string => {\n try {\n const url = new URL(urlToCheck)\n let protocol = url.protocol\n let host = url.host\n let path = url.pathname\n const query = url.search\n if (protocol === 'ipfs:') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, 'No ipfsGateway provided')\n path = url.host === 'ipfs' ? `ipfs${path}` : `ipfs/${url.host}${path}`\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else if (allowIpfsIoRepair && protocol === 'https' && host === 'ipfs.io') {\n protocol = 'https:'\n host = assertEx(ipfsGateway, 'No ipfsGateway provided')\n const pathParts = path.split('/')\n if (pathParts[0] === 'ipfs') {\n pathParts.shift()\n }\n path = pathParts.join('/')\n const root = `${protocol}//${host}/${path}`\n return query?.length > 0 ? `${root}?${query}` : root\n } else {\n return urlToCheck\n }\n } catch (ex) {\n //const error = ex as Error\n //console.error(`${error.name}:${error.message} [${urlToCheck}]`)\n //console.log(error.stack)\n return urlToCheck\n }\n}\n","import { BaseProvider, InfuraProvider, InfuraWebSocketProvider, JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers'\nimport { ConnectionInfo } from '@ethersproject/web'\nimport { assertEx } from '@xylabs/assert'\n\nexport type ProviderSource = 'infura' | 'quicknode'\nexport type ProviderType = 'rpc' | 'wss'\n\nexport interface GetProvidersFromEnvOptions {\n overrides?: Partial<ConnectionInfo>\n providerSource?: ProviderSource\n providerType?: ProviderType\n}\n\nconst enableConfigOverride = false\n\nconst configureConnection = (connection?: ConnectionInfo, { timeout = 1000 }: Partial<ConnectionInfo> = {}) => {\n if (connection && enableConfigOverride) {\n connection.timeout = timeout\n connection.throttleCallback = async (attempt, url) => {\n console.log(`throttleCallback[${attempt}]: ${url}`)\n return await Promise.resolve(true)\n }\n }\n}\n\nconst createInfuraRpc = (chainId: number, overrides?: Partial<ConnectionInfo>) => {\n const provider =\n process.env.INFURA_PROJECT_ID && process.env.INFURA_PROJECT_SECRET\n ? new InfuraProvider(chainId, {\n projectId: process.env.INFURA_PROJECT_ID,\n projectSecret: process.env.INFURA_PROJECT_SECRET,\n })\n : undefined\n configureConnection(provider?.connection, overrides)\n return provider\n}\n\nconst createInfuraWss = (chainId: number, overrides?: Partial<ConnectionInfo>) => {\n const provider = process.env.INFURA_PROJECT_ID\n ? new InfuraWebSocketProvider(chainId, {\n projectId: process.env.INFURA_PROJECT_ID,\n })\n : undefined\n configureConnection(provider?.connection, overrides)\n return provider\n}\n\nconst createQuicknodeWss = (chainId: number, overrides?: Partial<ConnectionInfo>) => {\n const quickNodeWSSUri = process.env.QUICKNODE_WSS_URI\n const provider = quickNodeWSSUri ? new WebSocketProvider(quickNodeWSSUri, chainId) : undefined\n configureConnection(provider?.connection, overrides)\n return provider\n}\n\nconst createQuicknodeRpc = (chainId: number, overrides?: Partial<ConnectionInfo>) => {\n const quickNodeHttpsUri = process.env.QUICKNODE_HTTPS_URI\n const provider = quickNodeHttpsUri ? new JsonRpcProvider(quickNodeHttpsUri, chainId) : undefined\n configureConnection(provider?.connection, overrides)\n return provider\n}\n\nexport const getProviderFromEnv = (\n chainId: number = 0x01,\n { providerSource = 'infura', providerType = 'rpc', overrides }: GetProvidersFromEnvOptions = {},\n): BaseProvider => {\n let provider: BaseProvider | undefined = undefined\n switch (providerSource) {\n case 'quicknode': {\n switch (providerType) {\n case 'rpc': {\n provider = createQuicknodeRpc(chainId, overrides)\n break\n }\n case 'wss': {\n provider = createQuicknodeWss(chainId, overrides)\n break\n }\n }\n break\n }\n default:\n case 'infura': {\n switch (providerType) {\n case 'wss': {\n provider = createInfuraWss(chainId, overrides)\n break\n }\n case 'rpc': {\n provider = createInfuraRpc(chainId, overrides)\n break\n }\n }\n break\n }\n }\n if (!provider) {\n provider = createInfuraWss(chainId) ?? createInfuraRpc(chainId) ?? createQuicknodeRpc(chainId)\n }\n return assertEx(provider, `Unable to create provider [${chainId}]: ${providerSource}|${providerType}`)\n}\n\nconst providers: Record<string, BaseProvider> = {}\n\nexport const getSharedProviderFromEnv = (\n chainId: number = 0x01,\n options?: { providerSource?: ProviderSource; providerType?: ProviderType },\n): BaseProvider => {\n const key = `${chainId}:${options ? JSON.stringify(options) : 'default'}`\n providers[key] = providers[key] ?? getProviderFromEnv(chainId, options)\n return providers[key]\n}\n\nexport const getProvidersFromEnv = (count: number = 1, chainId: number = 0x01, options: GetProvidersFromEnvOptions = {}): BaseProvider[] => {\n const result: BaseProvider[] = []\n for (let i = 0; i < count; i++) {\n result.push(getProviderFromEnv(chainId, options))\n }\n return result\n}\n","import { Payload } from '@xyo-network/payload-model'\n\nexport const BlockchainAddressSchema = 'network.xyo.blockchain.address'\nexport type BlockchainAddressSchema = typeof BlockchainAddressSchema\n\nexport type BlockchainAddress = Payload<\n {\n address?: string\n blockTag?: string | number\n chainId?: number\n },\n BlockchainAddressSchema\n>\n","import { BaseProvider } from '@ethersproject/providers'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyObject, WithAdditional } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessConfig, WitnessInstance, WitnessModuleEventData, WitnessParams } from '@xyo-network/witness-model'\n\nexport const BlockchainWitnessConfigSchema = 'network.xyo.blockchain.witness'\nexport type BlockchainWitnessConfigSchema = typeof BlockchainWitnessConfigSchema\n\nexport type BlockchainWitnessConfig<TAdditional extends Omit<Payload, 'schema'> | void = void, TSchema extends string | void = void> = WitnessConfig<\n TAdditional & { schema: TSchema extends void ? (TAdditional extends void ? string : BlockchainWitnessConfigSchema) : TSchema }\n>\n\nexport type AdditionalBlockchainWitnessParams = {\n providers: BaseProvider[]\n}\n\nexport type BlockchainWitnessParams<\n TConfig extends BlockchainWitnessConfig = BlockchainWitnessConfig,\n TAdditionalParams extends AnyObject | void = void,\n> = WitnessParams<\n TConfig,\n WithAdditional<\n {\n providers: () => Promisable<BaseProvider[]>\n },\n TAdditionalParams\n >\n>\n\nexport abstract class AbstractBlockchainWitness<\n TParams extends BlockchainWitnessParams = BlockchainWitnessParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends WitnessModuleEventData<WitnessInstance<TParams, TIn, TOut>, TIn, TOut> = WitnessModuleEventData<\n WitnessInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractWitness<TParams, TIn, TOut, TEventData> {\n private _providers: BaseProvider[] | undefined = undefined\n\n async getProvider(cache?: boolean): Promise<BaseProvider | undefined>\n async getProvider(cache: boolean, error: string | true): Promise<BaseProvider>\n async getProvider(cache = false, error?: string | boolean): Promise<BaseProvider | undefined> {\n const providers = await this.getProviders(cache)\n if (providers.length === 0) {\n if (error) {\n throw Error(typeof error === 'string' ? error : 'No providers available')\n }\n return undefined\n }\n return providers[Date.now() % providers.length] //pick a random provider\n }\n\n async getProviders(cache = false): Promise<BaseProvider[]> {\n const cachedProviders = cache ? this._providers : undefined\n this._providers = cachedProviders ?? (await this.params.providers())\n return this._providers\n }\n}\n"],"mappings":"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","names":["import_assert","providers"]}
|
package/dist/browser/index.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|