@deriv-com/smartcharts-champion 1.8.0 → 1.9.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/.github/workflows/deploy-preview.yml +54 -8
- package/CHANGELOG.md +3 -3
- package/dist/chart/flutter_bootstrap.js +1 -1
- package/dist/chart/flutter_service_worker.js +1 -1
- package/dist/chart/main.dart.js +1 -1
- package/dist/flutter-chart-adapter-5fdb55.smartcharts.js +2 -0
- package/dist/{flutter-chart-adapter-09fc8e.smartcharts.js.map → flutter-chart-adapter-5fdb55.smartcharts.js.map} +1 -1
- package/dist/smartcharts.js +1 -1
- package/dist/smartcharts.js.map +1 -1
- package/package.json +1 -1
- package/dist/flutter-chart-adapter-09fc8e.smartcharts.js +0 -2
|
@@ -8,10 +8,20 @@ on:
|
|
|
8
8
|
branches:
|
|
9
9
|
- '**'
|
|
10
10
|
types: [opened, synchronize, reopened]
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
workflow_dispatch:
|
|
12
|
+
inputs:
|
|
13
|
+
smartcharts_ref:
|
|
14
|
+
description: 'smartcharts-champion branch/tag/SHA to build'
|
|
15
|
+
required: true
|
|
16
|
+
default: 'master'
|
|
17
|
+
flutter_chart_ref:
|
|
18
|
+
description: 'flutter-chart branch/tag/SHA to use in chart_app'
|
|
19
|
+
required: true
|
|
20
|
+
default: 'master'
|
|
21
|
+
|
|
22
|
+
# Cancel outdated deployments per PR or per smartcharts ref for manual triggers
|
|
13
23
|
concurrency:
|
|
14
|
-
group: deploy-preview-${{ github.event.number }}
|
|
24
|
+
group: deploy-preview-${{ github.event.number || github.event.inputs.smartcharts_ref }}
|
|
15
25
|
cancel-in-progress: true
|
|
16
26
|
|
|
17
27
|
jobs:
|
|
@@ -23,12 +33,14 @@ jobs:
|
|
|
23
33
|
pull-requests: write
|
|
24
34
|
steps:
|
|
25
35
|
- name: Verify user
|
|
36
|
+
if: github.event_name == 'pull_request'
|
|
26
37
|
uses: 'deriv-com/shared-actions/.github/actions/verify_user_in_organization@v3'
|
|
27
38
|
with:
|
|
28
39
|
username: ${{ github.event.pull_request.user.login }}
|
|
29
40
|
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
|
30
41
|
|
|
31
42
|
- name: Post preview build comment
|
|
43
|
+
if: github.event_name == 'pull_request'
|
|
32
44
|
id: post_preview_build_comment
|
|
33
45
|
uses: 'deriv-com/shared-actions/.github/actions/post_preview_build_comment@v1'
|
|
34
46
|
with:
|
|
@@ -40,7 +52,7 @@ jobs:
|
|
|
40
52
|
with:
|
|
41
53
|
repository: deriv-com/smartcharts-champion
|
|
42
54
|
path: smartcharts-champion
|
|
43
|
-
ref: ${{ github.event.pull_request.head.sha }}
|
|
55
|
+
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.smartcharts_ref || github.event.pull_request.head.sha }}
|
|
44
56
|
persist-credentials: false
|
|
45
57
|
|
|
46
58
|
- name: Checkout derivatives-trader
|
|
@@ -59,6 +71,29 @@ jobs:
|
|
|
59
71
|
channel: 'stable'
|
|
60
72
|
cache: true
|
|
61
73
|
|
|
74
|
+
- name: Update flutter-chart ref in pubspec.yaml
|
|
75
|
+
if: github.event_name == 'workflow_dispatch'
|
|
76
|
+
env:
|
|
77
|
+
FLUTTER_REF: ${{ github.event.inputs.flutter_chart_ref }}
|
|
78
|
+
run: |
|
|
79
|
+
cd smartcharts-champion/chart_app
|
|
80
|
+
# Validate input format (alphanumeric, slashes, hyphens, underscores, dots only)
|
|
81
|
+
if ! [[ "${FLUTTER_REF}" =~ ^[a-zA-Z0-9/_.-]+$ ]]; then
|
|
82
|
+
echo "Error: Invalid flutter_chart_ref format. Only alphanumeric characters, slashes, hyphens, underscores, and dots are allowed."
|
|
83
|
+
exit 1
|
|
84
|
+
fi
|
|
85
|
+
if ! grep -q "ref: master" pubspec.yaml; then
|
|
86
|
+
echo "Error: Expected 'ref: master' not found in pubspec.yaml"
|
|
87
|
+
exit 1
|
|
88
|
+
fi
|
|
89
|
+
sed -i "s/ref: master/ref: ${FLUTTER_REF}/" pubspec.yaml
|
|
90
|
+
echo "Updated pubspec.yaml to use flutter-chart ref: ${FLUTTER_REF}"
|
|
91
|
+
cat pubspec.yaml
|
|
92
|
+
if ! grep -q "ref: ${FLUTTER_REF}" pubspec.yaml; then
|
|
93
|
+
echo "Error: Failed to update flutter-chart ref"
|
|
94
|
+
exit 1
|
|
95
|
+
fi
|
|
96
|
+
|
|
62
97
|
- name: Build Flutter chart component
|
|
63
98
|
run: |
|
|
64
99
|
cd smartcharts-champion/chart_app
|
|
@@ -84,7 +119,7 @@ jobs:
|
|
|
84
119
|
|
|
85
120
|
- name: Build derivatives-trader
|
|
86
121
|
env:
|
|
87
|
-
NODE_ENV: '
|
|
122
|
+
NODE_ENV: 'test'
|
|
88
123
|
run: cd derivatives-trader && npm run build:all
|
|
89
124
|
|
|
90
125
|
- name: Setup Node for Cloudflare
|
|
@@ -99,14 +134,25 @@ jobs:
|
|
|
99
134
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_TEST_LINKS_API_TOKEN }}
|
|
100
135
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_TEST_LINKS_ACCOUNT_ID }}
|
|
101
136
|
project_name: 'derivatives-trader'
|
|
102
|
-
branch_name: ${{ github.head_ref }}
|
|
137
|
+
branch_name: ${{ github.head_ref || github.event.inputs.smartcharts_ref }}
|
|
103
138
|
output_dir: derivatives-trader/packages/core/dist
|
|
104
139
|
|
|
105
140
|
- name: Generate preview link comment
|
|
106
|
-
if: always() && steps.post_preview_build_comment.outcome == 'success'
|
|
141
|
+
if: always() && github.event_name == 'pull_request' && steps.post_preview_build_comment.outcome == 'success'
|
|
107
142
|
uses: 'deriv-com/shared-actions/.github/actions/post_preview_link_comment@v1'
|
|
108
143
|
with:
|
|
109
144
|
issue_number: ${{ github.event.number }}
|
|
110
145
|
check_run_id: ${{ steps.post_preview_build_comment.outputs.check_run_id }}
|
|
111
146
|
preview_url: ${{ steps.publish_to_pages_branch.outputs.cf_pages_url }}
|
|
112
|
-
status: ${{ job.status }}
|
|
147
|
+
status: ${{ job.status }}
|
|
148
|
+
|
|
149
|
+
- name: Output preview URL for manual trigger
|
|
150
|
+
if: github.event_name == 'workflow_dispatch'
|
|
151
|
+
run: |
|
|
152
|
+
echo "## Preview Deployment Complete" >> $GITHUB_STEP_SUMMARY
|
|
153
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
154
|
+
echo "**Preview URL:** ${{ steps.publish_to_pages_branch.outputs.cf_pages_url }}" >> $GITHUB_STEP_SUMMARY
|
|
155
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
156
|
+
echo "**Configuration:**" >> $GITHUB_STEP_SUMMARY
|
|
157
|
+
echo "- smartcharts-champion ref: \`${{ github.event.inputs.smartcharts_ref }}\`" >> $GITHUB_STEP_SUMMARY
|
|
158
|
+
echo "- flutter-chart ref: \`${{ github.event.inputs.flutter_chart_ref }}\`" >> $GITHUB_STEP_SUMMARY
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
## [1.9.1](https://github.com/deriv-com/smartcharts-champion/compare/v1.9.0...v1.9.1) (2026-01-30)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
###
|
|
4
|
+
### 🐛 Bug Fixes
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* added fix for barrier glitch when multiple contract is opened ([#171](https://github.com/deriv-com/smartcharts-champion/issues/171)) ([e5dab83](https://github.com/deriv-com/smartcharts-champion/commit/e5dab83cd4adb98fe62644f3d2e8b9b21ce1b63f))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={hasImageCodecs:!(typeof ImageDecoder>"u"||"Google Inc."!==navigator.vendor&&"Edg/"!==navigator.agent),hasChromiumBreakIterators:typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",supportsWasmGC:WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,95,1,120,0])),crossOriginIsolated:window.crossOriginIsolated};function t(...e){return new URL(r(...e),document.baseURI).toString()}function r(...e){return e.filter(e=>!!e).map((e,t)=>0===t?i(e):function(e){let t=0;for(;t<e.length&&"/"===e.charAt(t);)t++;return e.substring(t)}(i(e))).filter(e=>e.length).join("/")}function i(e){let t=e.length;for(;t>0&&"/"===e.charAt(t-1);)t--;return e.substring(0,t)}var n=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:r=t("main.dart.js"),onEntrypointLoaded:i,nonce:n}=e||{};return this._loadJSEntrypoint(r,i,n)}async load(e,r,i,n,a){a??=e=>{e.initializeEngine(i).then(e=>e.runApp())};let{entryPointBaseUrl:o}=i;if("dart2wasm"===e.compileTarget)return this._loadWasmEntrypoint(e,r,o,a);{let r=t(o,e.mainJsPath??"main.dart.js");return this._loadJSEntrypoint(r,a,n)}}didCreateEngineInitializer(e){"function"==typeof this._didCreateEngineInitializerResolve&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),"function"==typeof this._onEntrypointLoaded&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,t,r){let i="function"==typeof t;if(!this._scriptLoaded){this._scriptLoaded=!0;let n=this._createScriptTag(e,r);if(!i)return new Promise((e,t)=>{this._didCreateEngineInitializerResolve=e,n.addEventListener("error",t),document.head.append(n)});this._onEntrypointLoaded=t,document.head.append(n)}}async _loadWasmEntrypoint(e,r,i,n){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=n;let{mainWasmPath:a,jsSupportRuntimePath:o}=e,s=t(i,a),l=t(i,o);null!=this._ttPolicy&&(l=this._ttPolicy.createScriptURL(l));let c,d=WebAssembly.compileStreaming(fetch(s)),u=await import(l);c="skwasm"===e.renderer?(async()=>{let e=await r.skwasm;return window._flutter_skwasmInstance=e,{skwasm:e.wasmExports,skwasmWrapper:e,ffi:{memory:e.wasmMemory}}})():{};let p=await u.instantiate(d,c);await u.invoke(p)}}_createScriptTag(e,t){let r=document.createElement("script");r.type="application/javascript",t&&(r.nonce=t);let i=e;return null!=this._ttPolicy&&(i=this._ttPolicy.createScriptURL(e)),r.src=i,r}};async function a(e,t,r){if(t<0)return e;let i,n=new Promise((e,n)=>{i=setTimeout(()=>{n(new Error(`${r} took more than ${t}ms to resolve. Moving on.`,{cause:a}))},t)});return Promise.race([e,n]).finally(()=>{clearTimeout(i)})}var o=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e)return Promise.resolve();if(!("serviceWorker"in navigator)){let e="Service Worker API unavailable.";return window.isSecureContext||(e+="\nThe current context is NOT secure.",e+="\nRead more: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts"),Promise.reject(new Error(e))}let{serviceWorkerVersion:r,serviceWorkerUrl:i=t(`flutter_service_worker.js?v=${r}`),timeoutMillis:n=4e3}=e,o=i;return null!=this._ttPolicy&&(o=this._ttPolicy.createScriptURL(o)),a(navigator.serviceWorker.register(o).then(e=>this._getNewServiceWorker(e,r)).then(this._waitForServiceWorkerActivation),n,"prepareServiceWorker")}async _getNewServiceWorker(e,t){if(!e.active&&(e.installing||e.waiting))return e.installing||e.waiting;if(e.active.scriptURL.endsWith(t))return e.active;{let t=await e.update();return t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||"activated"===e.state){if(e)return;throw new Error("Cannot activate a null service worker!")}return new Promise((t,r)=>{e.addEventListener("statechange",()=>{"activated"===e.state&&t()})})}},s=class{constructor(e,t="flutter-js"){let r=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(t,{createScriptURL:function(e){if(e.startsWith("blob:"))return e;let i=new URL(e,window.location),n=i.pathname.split("/").pop();if(r.some(e=>e.test(n)))return i.toString();console.error("URL rejected by TrustedTypes policy",t,":",e,"(download prevented)")}}))}},l=e=>{let t=WebAssembly.compileStreaming(fetch(e));return(e,r)=>((async()=>{let i=await t,n=await WebAssembly.instantiate(i,e);r(n,i)})(),{})};window._flutter||(window._flutter={}),window._flutter.loader||(window._flutter.loader=new class{async loadEntrypoint(e){let{serviceWorker:t,...r}=e||{},i=new s,a=new o;a.setTrustedTypesPolicy(i.policy),await a.loadServiceWorker(t).catch(e=>{console.warn("Exception while loading service worker:",e)});let l=new n;return l.setTrustedTypesPolicy(i.policy),this.didCreateEngineInitializer=l.didCreateEngineInitializer.bind(l),l.loadEntrypoint(r)}async load({serviceWorkerSettings:i,onEntrypointLoaded:a,nonce:c,config:d}={}){d??={};let u=_flutter.buildConfig;if(!u)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let p=u.builds.find(t=>!("dart2wasm"===t.compileTarget&&!e.supportsWasmGC||d.renderer&&!((e,t)=>"auto"===e.renderer?"canvaskit"==t||"html"==t:e.renderer==t)(t,d.renderer))&&(t=>"skwasm"!==t||e.crossOriginIsolated&&e.hasChromiumBreakIterators&&e.hasImageCodecs&&e.supportsWasmGC)(t.renderer));if(!p)throw"FlutterLoader could not find a build compatible with configuration and environment.";let w={};w.flutterTT=new s,i&&(w.serviceWorkerLoader=new o,w.serviceWorkerLoader.setTrustedTypesPolicy(w.flutterTT.policy),await w.serviceWorkerLoader.loadServiceWorker(i).catch(e=>{console.warn("Exception while loading service worker:",e)}));let m=function(e,t){return e.canvasKitBaseUrl?e.canvasKitBaseUrl:t.engineRevision&&!t.useLocalCanvasKit?r("https://www.gstatic.com/flutter-canvaskit",t.engineRevision):"canvaskit"}(d,u);"canvaskit"===p.renderer?w.canvasKit=((e,r,i,n)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let a=i.hasChromiumBreakIterators&&i.hasImageCodecs;if(!a&&"chromium"==r.canvasKitVariant)throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let o=a&&"full"!==r.canvasKitVariant,s=n;o&&(s=t(s,"chromium"));let c=t(s,"canvaskit.js");e.flutterTT.policy&&(c=e.flutterTT.policy.createScriptURL(c));let d=l(t(s,"canvaskit.wasm")),u=await import(c);return window.flutterCanvasKit=await u.default({instantiateWasm:d}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded))(w,d,e,m):"skwasm"===p.renderer&&(w.skwasm=(async(e,r,i,n)=>{let a=t(n,"skwasm.js"),o=a;e.flutterTT.policy&&(o=e.flutterTT.policy.createScriptURL(o));let s=l(t(n,"skwasm.wasm"));return await(await import(o)).default({instantiateWasm:s,locateFile:(e,t)=>{let r=t+e;return r.endsWith(".worker.js")?URL.createObjectURL(new Blob([`importScripts('${r}');`],{type:"application/javascript"})):r},mainScriptUrlOrBlob:a})})(w,0,0,m));let f=new n;return f.setTrustedTypesPolicy(w.flutterTT.policy),this.didCreateEngineInitializer=f.didCreateEngineInitializer.bind(f),f.load(p,w,d,c,a)}})})(),window._flutter||(window._flutter={}),_flutter.buildConfig={engineRevision:"c9b9d5780da342eb3f0f5e439a7db06f7d112575",builds:[{compileTarget:"dart2js",renderer:"html",mainJsPath:"main.dart.js"}]},_flutter.loader.load({serviceWorkerSettings:{serviceWorkerVersion:"
|
|
1
|
+
(()=>{var e={hasImageCodecs:!(typeof ImageDecoder>"u"||"Google Inc."!==navigator.vendor&&"Edg/"!==navigator.agent),hasChromiumBreakIterators:typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",supportsWasmGC:WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,95,1,120,0])),crossOriginIsolated:window.crossOriginIsolated};function t(...e){return new URL(r(...e),document.baseURI).toString()}function r(...e){return e.filter(e=>!!e).map((e,t)=>0===t?i(e):function(e){let t=0;for(;t<e.length&&"/"===e.charAt(t);)t++;return e.substring(t)}(i(e))).filter(e=>e.length).join("/")}function i(e){let t=e.length;for(;t>0&&"/"===e.charAt(t-1);)t--;return e.substring(0,t)}var n=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(e){this._ttPolicy=e}async loadEntrypoint(e){let{entrypointUrl:r=t("main.dart.js"),onEntrypointLoaded:i,nonce:n}=e||{};return this._loadJSEntrypoint(r,i,n)}async load(e,r,i,n,a){a??=e=>{e.initializeEngine(i).then(e=>e.runApp())};let{entryPointBaseUrl:o}=i;if("dart2wasm"===e.compileTarget)return this._loadWasmEntrypoint(e,r,o,a);{let r=t(o,e.mainJsPath??"main.dart.js");return this._loadJSEntrypoint(r,a,n)}}didCreateEngineInitializer(e){"function"==typeof this._didCreateEngineInitializerResolve&&(this._didCreateEngineInitializerResolve(e),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),"function"==typeof this._onEntrypointLoaded&&this._onEntrypointLoaded(e)}_loadJSEntrypoint(e,t,r){let i="function"==typeof t;if(!this._scriptLoaded){this._scriptLoaded=!0;let n=this._createScriptTag(e,r);if(!i)return new Promise((e,t)=>{this._didCreateEngineInitializerResolve=e,n.addEventListener("error",t),document.head.append(n)});this._onEntrypointLoaded=t,document.head.append(n)}}async _loadWasmEntrypoint(e,r,i,n){if(!this._scriptLoaded){this._scriptLoaded=!0,this._onEntrypointLoaded=n;let{mainWasmPath:a,jsSupportRuntimePath:o}=e,s=t(i,a),l=t(i,o);null!=this._ttPolicy&&(l=this._ttPolicy.createScriptURL(l));let c,d=WebAssembly.compileStreaming(fetch(s)),u=await import(l);c="skwasm"===e.renderer?(async()=>{let e=await r.skwasm;return window._flutter_skwasmInstance=e,{skwasm:e.wasmExports,skwasmWrapper:e,ffi:{memory:e.wasmMemory}}})():{};let p=await u.instantiate(d,c);await u.invoke(p)}}_createScriptTag(e,t){let r=document.createElement("script");r.type="application/javascript",t&&(r.nonce=t);let i=e;return null!=this._ttPolicy&&(i=this._ttPolicy.createScriptURL(e)),r.src=i,r}};async function a(e,t,r){if(t<0)return e;let i,n=new Promise((e,n)=>{i=setTimeout(()=>{n(new Error(`${r} took more than ${t}ms to resolve. Moving on.`,{cause:a}))},t)});return Promise.race([e,n]).finally(()=>{clearTimeout(i)})}var o=class{setTrustedTypesPolicy(e){this._ttPolicy=e}loadServiceWorker(e){if(!e)return Promise.resolve();if(!("serviceWorker"in navigator)){let e="Service Worker API unavailable.";return window.isSecureContext||(e+="\nThe current context is NOT secure.",e+="\nRead more: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts"),Promise.reject(new Error(e))}let{serviceWorkerVersion:r,serviceWorkerUrl:i=t(`flutter_service_worker.js?v=${r}`),timeoutMillis:n=4e3}=e,o=i;return null!=this._ttPolicy&&(o=this._ttPolicy.createScriptURL(o)),a(navigator.serviceWorker.register(o).then(e=>this._getNewServiceWorker(e,r)).then(this._waitForServiceWorkerActivation),n,"prepareServiceWorker")}async _getNewServiceWorker(e,t){if(!e.active&&(e.installing||e.waiting))return e.installing||e.waiting;if(e.active.scriptURL.endsWith(t))return e.active;{let t=await e.update();return t.installing||t.waiting||t.active}}async _waitForServiceWorkerActivation(e){if(!e||"activated"===e.state){if(e)return;throw new Error("Cannot activate a null service worker!")}return new Promise((t,r)=>{e.addEventListener("statechange",()=>{"activated"===e.state&&t()})})}},s=class{constructor(e,t="flutter-js"){let r=e||[/\.js$/,/\.mjs$/];window.trustedTypes&&(this.policy=trustedTypes.createPolicy(t,{createScriptURL:function(e){if(e.startsWith("blob:"))return e;let i=new URL(e,window.location),n=i.pathname.split("/").pop();if(r.some(e=>e.test(n)))return i.toString();console.error("URL rejected by TrustedTypes policy",t,":",e,"(download prevented)")}}))}},l=e=>{let t=WebAssembly.compileStreaming(fetch(e));return(e,r)=>((async()=>{let i=await t,n=await WebAssembly.instantiate(i,e);r(n,i)})(),{})};window._flutter||(window._flutter={}),window._flutter.loader||(window._flutter.loader=new class{async loadEntrypoint(e){let{serviceWorker:t,...r}=e||{},i=new s,a=new o;a.setTrustedTypesPolicy(i.policy),await a.loadServiceWorker(t).catch(e=>{console.warn("Exception while loading service worker:",e)});let l=new n;return l.setTrustedTypesPolicy(i.policy),this.didCreateEngineInitializer=l.didCreateEngineInitializer.bind(l),l.loadEntrypoint(r)}async load({serviceWorkerSettings:i,onEntrypointLoaded:a,nonce:c,config:d}={}){d??={};let u=_flutter.buildConfig;if(!u)throw"FlutterLoader.load requires _flutter.buildConfig to be set";let p=u.builds.find(t=>!("dart2wasm"===t.compileTarget&&!e.supportsWasmGC||d.renderer&&!((e,t)=>"auto"===e.renderer?"canvaskit"==t||"html"==t:e.renderer==t)(t,d.renderer))&&(t=>"skwasm"!==t||e.crossOriginIsolated&&e.hasChromiumBreakIterators&&e.hasImageCodecs&&e.supportsWasmGC)(t.renderer));if(!p)throw"FlutterLoader could not find a build compatible with configuration and environment.";let w={};w.flutterTT=new s,i&&(w.serviceWorkerLoader=new o,w.serviceWorkerLoader.setTrustedTypesPolicy(w.flutterTT.policy),await w.serviceWorkerLoader.loadServiceWorker(i).catch(e=>{console.warn("Exception while loading service worker:",e)}));let m=function(e,t){return e.canvasKitBaseUrl?e.canvasKitBaseUrl:t.engineRevision&&!t.useLocalCanvasKit?r("https://www.gstatic.com/flutter-canvaskit",t.engineRevision):"canvaskit"}(d,u);"canvaskit"===p.renderer?w.canvasKit=((e,r,i,n)=>(window.flutterCanvasKitLoaded=(async()=>{if(window.flutterCanvasKit)return window.flutterCanvasKit;let a=i.hasChromiumBreakIterators&&i.hasImageCodecs;if(!a&&"chromium"==r.canvasKitVariant)throw"Chromium CanvasKit variant specifically requested, but unsupported in this browser";let o=a&&"full"!==r.canvasKitVariant,s=n;o&&(s=t(s,"chromium"));let c=t(s,"canvaskit.js");e.flutterTT.policy&&(c=e.flutterTT.policy.createScriptURL(c));let d=l(t(s,"canvaskit.wasm")),u=await import(c);return window.flutterCanvasKit=await u.default({instantiateWasm:d}),window.flutterCanvasKit})(),window.flutterCanvasKitLoaded))(w,d,e,m):"skwasm"===p.renderer&&(w.skwasm=(async(e,r,i,n)=>{let a=t(n,"skwasm.js"),o=a;e.flutterTT.policy&&(o=e.flutterTT.policy.createScriptURL(o));let s=l(t(n,"skwasm.wasm"));return await(await import(o)).default({instantiateWasm:s,locateFile:(e,t)=>{let r=t+e;return r.endsWith(".worker.js")?URL.createObjectURL(new Blob([`importScripts('${r}');`],{type:"application/javascript"})):r},mainScriptUrlOrBlob:a})})(w,0,0,m));let f=new n;return f.setTrustedTypesPolicy(w.flutterTT.policy),this.didCreateEngineInitializer=f.didCreateEngineInitializer.bind(f),f.load(p,w,d,c,a)}})})(),window._flutter||(window._flutter={}),_flutter.buildConfig={engineRevision:"c9b9d5780da342eb3f0f5e439a7db06f7d112575",builds:[{compileTarget:"dart2js",renderer:"html",mainJsPath:"main.dart.js"}]},_flutter.loader.load({serviceWorkerSettings:{serviceWorkerVersion:"2277187056"}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const MANIFEST="flutter-app-manifest",TEMP="flutter-temp-cache",CACHE_NAME="flutter-app-cache",RESOURCES={"flutter.js":"f393d3c16b631f36852323de8e583132","manifest.json":"a06b13fcde5dfd1e240278072e116d12","index.html":"
|
|
1
|
+
"use strict";const MANIFEST="flutter-app-manifest",TEMP="flutter-temp-cache",CACHE_NAME="flutter-app-cache",RESOURCES={"flutter.js":"f393d3c16b631f36852323de8e583132","manifest.json":"a06b13fcde5dfd1e240278072e116d12","index.html":"b7d2b838e209213c38c3ec5e9e5e6bd1","/":"b7d2b838e209213c38c3ec5e9e5e6bd1","assets/shaders/ink_sparkle.frag":"ecc85a2e95f5e9f53123dcaf8cb9b6ce","assets/AssetManifest.bin.json":"be3eb7dfd4bfedb8054bd74919851a8b","assets/fonts/IBMPlexSans-Bold.woff2":"19210a59bf50a6ba73fa97433170b4cf","assets/fonts/IBMPlexSans-Regular.woff2":"4bb247144b2962b752857093491454e7","assets/fonts/MaterialIcons-Regular.otf":"d6db5dff634f0098a8fec881f24fa1e7","assets/NOTICES":"3addc03b78c4c9ab95afde0750197f90","assets/packages/deriv_chart/assets/fonts/quill_icons.ttf":"8e9f63f02fa78152f14dd9b5b5c4e92a","assets/FontManifest.json":"84fa087dba170bffc9f3713aeebe836c","assets/AssetManifest.bin":"f049e764000ff7f4834702ea3985a348","assets/AssetManifest.json":"0e2784379e19e2053abcff2635e3e6ae","canvaskit/chromium/canvaskit.wasm":"b1ac05b29c127d86df4bcfbf50dd902a","canvaskit/chromium/canvaskit.js":"671c6b4f8fcc199dcc551c7bb125f239","canvaskit/chromium/canvaskit.js.symbols":"a012ed99ccba193cf96bb2643003f6fc","canvaskit/skwasm.worker.js":"89990e8c92bcb123999aa81f7e203b1c","canvaskit/skwasm.js":"694fda5704053957c2594de355805228","canvaskit/canvaskit.wasm":"1f237a213d7370cf95f443d896176460","canvaskit/canvaskit.js":"66177750aff65a66cb07bb44b8c6422b","canvaskit/skwasm.wasm":"9f0c0c02b82a910d12ce0543ec130e60","canvaskit/canvaskit.js.symbols":"48c83a2ce573d9692e8d970e288d75f7","canvaskit/skwasm.js.symbols":"262f4827a1317abb59d71d6c587a93e2","favicon.png":"5dcef449791fa27946b3d35ad8803796","flutter_bootstrap.js":"d62a05dac7861d000665adae027e49c1","version.json":"1756499d77011c0be564a414e567db76","main.dart.js":"0254d5f7422e2410e7bc71a259085100"},CORE=["main.dart.js","index.html","flutter_bootstrap.js","assets/AssetManifest.bin.json","assets/FontManifest.json"];async function downloadOffline(){var e=[],a=await caches.open(CACHE_NAME),s={};for(var t of await a.keys()){var c=t.url.substring(origin.length+1);""==c&&(c="/"),s[c]=!0}for(var n of Object.keys(RESOURCES))s[n]||e.push(n);return a.addAll(e)}function onlineFirst(e){return e.respondWith(fetch(e.request).then(a=>caches.open(CACHE_NAME).then(s=>(s.put(e.request,a.clone()),a))).catch(a=>caches.open(CACHE_NAME).then(s=>s.match(e.request).then(e=>{if(null!=e)return e;throw a}))))}self.addEventListener("install",e=>(self.skipWaiting(),e.waitUntil(caches.open(TEMP).then(e=>e.addAll(CORE.map(e=>new Request(e,{cache:"reload"}))))))),self.addEventListener("activate",function(e){return e.waitUntil(async function(){try{var e=await caches.open(CACHE_NAME),a=await caches.open(TEMP),s=await caches.open(MANIFEST),t=await s.match("manifest");if(!t){for(var c of(await caches.delete(CACHE_NAME),e=await caches.open(CACHE_NAME),await a.keys())){var n=await a.match(c);await e.put(c,n)}return await caches.delete(TEMP),await s.put("manifest",new Response(JSON.stringify(RESOURCES))),void self.clients.claim()}var i=await t.json(),f=self.location.origin;for(var c of await e.keys()){var r=c.url.substring(f.length+1);""==r&&(r="/"),RESOURCES[r]&&RESOURCES[r]==i[r]||await e.delete(c)}for(var c of await a.keys()){n=await a.match(c);await e.put(c,n)}return await caches.delete(TEMP),await s.put("manifest",new Response(JSON.stringify(RESOURCES))),void self.clients.claim()}catch(e){console.error("Failed to upgrade service worker: "+e),await caches.delete(CACHE_NAME),await caches.delete(TEMP),await caches.delete(MANIFEST)}}())}),self.addEventListener("fetch",e=>{if("GET"===e.request.method){var a=self.location.origin,s=e.request.url.substring(a.length+1);if(-1!=s.indexOf("?v=")&&(s=s.split("?v=")[0]),(e.request.url==a||e.request.url.startsWith(a+"/#")||""==s)&&(s="/"),RESOURCES[s])return"/"==s?onlineFirst(e):void e.respondWith(caches.open(CACHE_NAME).then(a=>a.match(e.request).then(s=>s||fetch(e.request).then(s=>(s&&Boolean(s.ok)&&a.put(e.request,s.clone()),s)))))}}),self.addEventListener("message",e=>{"skipWaiting"!==e.data?"downloadOffline"!==e.data||downloadOffline():self.skipWaiting()});
|