From d02de3373bea6f204f2b4a01c14a654a1049773b Mon Sep 17 00:00:00 2001 From: Gorka Date: Wed, 17 Jun 2026 13:22:32 -0300 Subject: [PATCH] feat(channel-auth): wrap asset enable/disable + refresh artifacts for core 0.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit soroban-core 0.3.0 adds quorum-gated `enable_channel` / `disable_channel` to the Channel Auth contract (+ `ChannelStateChanged` event and an expanded error enum). Track it the same way as #34: - channel-auth: add `enable_channel` / `disable_channel` to AuthInvokeMethods, EnableChannelInput / DisableChannelInput to types, and regenerate AuthSpec from the 0.3.0 contract (18 → 22 spec entries: new fns, ChannelStateChanged, expanded MoonlightError). - refresh compiled `channel_auth_contract.wasm` + `privacy_channel.wasm` artifacts from the 0.3.0 build (privacy-channel changed via the shared error enum). version: 0.9.1 -> 0.10.0 --- deno.json | 2 +- src/channel-auth/constants.ts | 22 ++++++++++++++-------- src/channel-auth/types.ts | 10 ++++++++++ test/contracts/channel_auth_contract.wasm | Bin 17164 -> 18836 bytes test/contracts/privacy_channel.wasm | Bin 20229 -> 21783 bytes 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/deno.json b/deno.json index c70b01e..403bfe6 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@moonlight/moonlight-sdk", - "version": "0.9.1", + "version": "0.10.0", "description": "A privacy-focused toolkit for the Moonlight protocol on Stellar Soroban smart contracts.", "license": "MIT", "tasks": { diff --git a/src/channel-auth/constants.ts b/src/channel-auth/constants.ts index 013546e..864719f 100644 --- a/src/channel-auth/constants.ts +++ b/src/channel-auth/constants.ts @@ -11,25 +11,31 @@ export const enum AuthInvokeMethods { upgrade = "upgrade", add_provider = "add_provider", remove_provider = "remove_provider", + enable_channel = "enable_channel", + disable_channel = "disable_channel", } export const AuthSpec: Spec = new Spec([ - "AAAABQAAAAAAAAAAAAAAE0NvbnRyYWN0SW5pdGlhbGl6ZWQAAAAAAQAAABRjb250cmFjdF9pbml0aWFsaXplZAAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAAA", + "AAAABQAAAAAAAAAAAAAACFVwZ3JhZGVkAAAAAQAAAAh1cGdyYWRlZAAAAAEAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAQAAAAA=", "AAAABQAAAAAAAAAAAAAADVByb3ZpZGVyQWRkZWQAAAAAAAABAAAADnByb3ZpZGVyX2FkZGVkAAAAAAABAAAAAAAAAAhwcm92aWRlcgAAABMAAAABAAAAAA==", "AAAABQAAAAAAAAAAAAAAD1Byb3ZpZGVyUmVtb3ZlZAAAAAABAAAAEHByb3ZpZGVyX3JlbW92ZWQAAAABAAAAAAAAAAhwcm92aWRlcgAAABMAAAABAAAAAA==", - "AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAA=", "AAAAAAAAAAAAAAAFYWRtaW4AAAAAAAAAAAAAAQAAABM=", - "AAAAAAAAAAAAAAAJc2V0X2FkbWluAAAAAAAAAQAAAAAAAAAJbmV3X2FkbWluAAAAAAAAEwAAAAA=", - "AAAAAAAAAAAAAAAMYWNjZXB0X2FkbWluAAAAAAAAAAA=", "AAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAA=", + "AAAABQAAAAAAAAAAAAAAE0NoYW5uZWxTdGF0ZUNoYW5nZWQAAAAAAQAAABVjaGFubmVsX3N0YXRlX2NoYW5nZWQAAAAAAAADAAAAAAAAAAdjaGFubmVsAAAAABMAAAABAAAAAAAAAAVhc3NldAAAAAAAABMAAAABAAAAAAAAAAdlbmFibGVkAAAAAAEAAAAAAAAAAA==", + "AAAABQAAAAAAAAAAAAAAE0NvbnRyYWN0SW5pdGlhbGl6ZWQAAAAAAQAAABRjb250cmFjdF9pbml0aWFsaXplZAAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAAA", + "AAAAAAAAAAAAAAAJc2V0X2FkbWluAAAAAAAAAQAAAAAAAAAJbmV3X2FkbWluAAAAAAAAEwAAAAA=", "AAAAAAAAAAAAAAALaXNfcHJvdmlkZXIAAAAAAQAAAAAAAAAIcHJvdmlkZXIAAAATAAAAAQAAAAE=", + "AAAAAAAAAAAAAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAAHcGF5bG9hZAAAAAPuAAAAIAAAAAAAAAAKc2lnbmF0dXJlcwAAAAAH0AAAAApTaWduYXR1cmVzAAAAAAAAAAAACGNvbnRleHRzAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAAAIAAAfQAAAADk1vb25saWdodEVycm9yAAA=", + "AAAAAAAAAAAAAAAMYWNjZXB0X2FkbWluAAAAAAAAAAA=", "AAAAAAAAAAAAAAAMYWRkX3Byb3ZpZGVyAAAAAQAAAAAAAAAIcHJvdmlkZXIAAAATAAAAAA==", + "AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAA=", + "AAAAAAAAAK9FbmFibGUgYW4gYXNzZXQgYGNoYW5uZWxgIGZvciBzZXJ2aWNlLiBBbHNvIHVzZWQgdG8gUkUtRU5BQkxFIGEgcHJldmlvdXNseSBkaXNhYmxlZApjaGFubmVsIOKAlCBib3RoIHJlc3VtZSBmdWxsIHNlcnZpY2UsIHNvIGJvdGggZW1pdCBgQ2hhbm5lbFN0YXRlQ2hhbmdlZCB7IGVuYWJsZWQ6IHRydWUgfWAuAAAAAA5lbmFibGVfY2hhbm5lbAAAAAAAAgAAAAAAAAAHY2hhbm5lbAAAAAATAAAAAAAAAAVhc3NldAAAAAAAABMAAAAA", + "AAAAAAAAALJEaXNhYmxlIGFuIGFzc2V0IGBjaGFubmVsYC4gVGhlIGNoYW5uZWwgYmVjb21lcyB3aXRoZHJhdy1vbmx5IChuZXcgZGVwb3NpdHMvc2VuZHMgcmVqZWN0ZWQpOwp0aGF0IGVuZm9yY2VtZW50IGxpdmVzIHByb3ZpZGVyLXNpZGUuIEVtaXRzIGBDaGFubmVsU3RhdGVDaGFuZ2VkIHsgZW5hYmxlZDogZmFsc2UgfWAuAAAAAAAPZGlzYWJsZV9jaGFubmVsAAAAAAIAAAAAAAAAB2NoYW5uZWwAAAAAEwAAAAAAAAAFYXNzZXQAAAAAAAATAAAAAA==", "AAAAAAAAAAAAAAAPcmVtb3ZlX3Byb3ZpZGVyAAAAAAEAAAAAAAAACHByb3ZpZGVyAAAAEwAAAAA=", - "AAAAAAAAAAAAAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAAHcGF5bG9hZAAAAAPuAAAAIAAAAAAAAAAKc2lnbmF0dXJlcwAAAAAH0AAAAApTaWduYXR1cmVzAAAAAAAAAAAACGNvbnRleHRzAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAAAIAAAfQAAAADk1vb25saWdodEVycm9yAAA=", - "AAAABAAAAAAAAAAAAAAADk1vb25saWdodEVycm9yAAAAAAAfAAAAAAAAAAZCYWRBcmcAAAAAA+gAAAAAAAAAEVVuZXhwZWN0ZWRWYXJpYW50AAAAAAAD6QAAAAAAAAAQTWlzc2luZ1NpZ25hdHVyZQAAA+oAAAAAAAAADkV4dHJhU2lnbmF0dXJlAAAAAAPrAAAAAAAAABZJbnZhbGlkU2lnbmF0dXJlRm9ybWF0AAAAAAPsAAAAAAAAABpVbnN1cHBvcnRlZFNpZ25hdHVyZUZvcm1hdAAAAAAD7QAAAAAAAAASTWlzbWF0Y2hlZENvbnRyYWN0AAAAAAPuAAAAAAAAABFVbnN1cHBvcnRlZFNpZ25lcgAAAAAAA+8AAAAAAAAADE5vQ29uZGl0aW9ucwAAA/AAAAAAAAAAEVVuZXhwZWN0ZWRDb250ZXh0AAAAAAAD8QAAAAAAAAAQU2lnbmF0dXJlRXhwaXJlZAAAA/IAAAAAAAAAF1Byb3ZpZGVyVGhyZXNob2xkTm90TWV0AAAAA/MAAAAAAAAAGVByb3ZpZGVyQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAP0AAAAAAAAABVQcm92aWRlck5vdFJlZ2lzdGVyZWQAAAAAAAP1AAAAAAAAABFVdHhvQWxyZWFkeUV4aXN0cwAAAAAAB9AAAAAAAAAAEFV0eG9Eb2VzTm90RXhpc3QAAAfRAAAAAAAAABBVdHhvQWxyZWFkeVNwZW50AAAH0gAAAAAAAAAQVW5iYWxhbmNlZEJ1bmRsZQAAB9MAAAAAAAAAE0ludmFsaWRDcmVhdGVBbW91bnQAAAAH1AAAAAAAAAASUmVwZWF0ZWRDcmVhdGVVdHhvAAAAAAfVAAAAAAAAABFSZXBlYXRlZFNwZW5kVXR4bwAAAAAAB9YAAAAAAAAADFV0eG9Ob3RGb3VuZAAAB9cAAAAAAAAAEkF1dGhDb250cmFjdE5vdFNldAAAAAAH2AAAAAAAAAAZUmVwZWF0ZWRBY2NvdW50Rm9yRGVwb3NpdAAAAAAAC7gAAAAAAAAAGlJlcGVhdGVkQWNjb3VudEZvcldpdGhkcmF3AAAAAAu5AAAAAAAAAB9Db25mbGljdGluZ0NvbmRpdGlvbnNGb3JBY2NvdW50AAAAC7oAAAAAAAAADkFtb3VudE92ZXJmbG93AAAAAAu7AAAAAAAAAB5CdW5kbGVIYXNDb25mbGljdGluZ0NvbmRpdGlvbnMAAAAAC7wAAAAAAAAAD0Ftb3VudFVuZGVyZmxvdwAAAAu9AAAAAAAAABhOb3RFZDI1NTE5QWNjb3VudEFkZHJlc3MAAA+gAAAAAAAAABlVbnN1cHBvcnRlZEFkZHJlc3NQYXlsb2FkAAAAAAAPoQ==", - "AAAAAQAAAAAAAAAAAAAAClNpZ25hdHVyZXMAAAAAAAEAAAAAAAAAATAAAAAAAAPsAAAH0AAAAAlTaWduZXJLZXkAAAAAAAPtAAAAAgAAB9AAAAAJU2lnbmF0dXJlAAAAAAAABA==", - "AAAAAgAAAAAAAAAAAAAACVNpZ25lcktleQAAAAAAAAMAAAABAAAAAAAAAARQMjU2AAAAAQAAA+4AAABBAAAAAQAAAAAAAAAHRWQyNTUxOQAAAAABAAAD7gAAACAAAAABAAAAAAAAAAhQcm92aWRlcgAAAAEAAAPuAAAAIA==", + "AAAABAAAAAAAAAAAAAAADk1vb25saWdodEVycm9yAAAAAAAjAAAAW0FuIGF1dGhvcml6YXRpb24gcGF5bG9hZCBvciBjb250cmFjdCBhcmd1bWVudCBjb3VsZCBub3QgYmUgZGVjb2RlZCBpbnRvIHRoZSBleHBlY3RlZCBzaGFwZS4AAAAABkJhZEFyZwAAAAAD6AAAAF5BIHZhbHVlIHVzZWQgZHVyaW5nIGF1dGhvcml6YXRpb24gbWF0Y2hlZCBhIHR5cGUgZmFtaWx5IGJ1dCBub3Qgb25lIG9mIHRoZSBzdXBwb3J0ZWQgdmFyaWFudHMuAAAAAAARVW5leHBlY3RlZFZhcmlhbnQAAAAAAAPpAAAAQkEgcmVxdWlyZWQgc2lnbmF0dXJlIGZvciBhbiBhdXRob3JpemF0aW9uIHNpZ25lciB3YXMgbm90IHByb3ZpZGVkLgAAAAAAEE1pc3NpbmdTaWduYXR1cmUAAAPqAAAARU1vcmUgc2lnbmF0dXJlcyB3ZXJlIHByb3ZpZGVkIHRoYW4gdGhlIGF1dGhvcml6YXRpb24gY29udGV4dCBhY2NlcHRzLgAAAAAAAA5FeHRyYVNpZ25hdHVyZQAAAAAD6wAAAFNBIHNpZ25hdHVyZSBlbnRyeSBjb3VsZCBub3QgYmUgcGFyc2VkIGFzIGEgc3VwcG9ydGVkIGF1dGhvcml6YXRpb24gc2lnbmF0dXJlIHNoYXBlLgAAAAAWSW52YWxpZFNpZ25hdHVyZUZvcm1hdAAAAAAD7AAAAF1BIHNpZ25hdHVyZSBlbnRyeSB3YXMgd2VsbC1mb3JtZWQgYnV0IHVzZWQgYSBzaWduYXR1cmUgZm9ybWF0IHRoaXMgcHJvdG9jb2wgZG9lcyBub3Qgc3VwcG9ydC4AAAAAAAAaVW5zdXBwb3J0ZWRTaWduYXR1cmVGb3JtYXQAAAAAA+0AAABmQSBzaWduYXR1cmUgb3IgYXV0aG9yaXphdGlvbiBjb250ZXh0IHdhcyBwcm9kdWNlZCBmb3IgYSBkaWZmZXJlbnQgY29udHJhY3QgdGhhbiB0aGUgb25lIGJlaW5nIGNoZWNrZWQuAAAAAAASTWlzbWF0Y2hlZENvbnRyYWN0AAAAAAPuAAAAOkEgc2lnbmVyIGtpbmQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGF1dGhvcml6YXRpb24gcGF0aC4AAAAAABFVbnN1cHBvcnRlZFNpZ25lcgAAAAAAA+8AAAA/QXV0aG9yaXphdGlvbiB3YXMgcmVxdWVzdGVkIHdpdGhvdXQgYW55IGNvbmRpdGlvbnMgdG8gZXZhbHVhdGUuAAAAAAxOb0NvbmRpdGlvbnMAAAPwAAAAVVRoZSBhdXRob3JpemF0aW9uIGNvbnRleHQgZGlkIG5vdCBtYXRjaCB0aGUgaW52b2NhdGlvbiBzaGFwZSBleHBlY3RlZCBieSB0aGUgY2hlY2tlci4AAAAAAAARVW5leHBlY3RlZENvbnRleHQAAAAAAAPxAAAASUEgc2lnbmF0dXJlIHdhcyB2YWxpZCBzdHJ1Y3R1cmFsbHkgYnV0IGV4cGlyZWQgYmVmb3JlIHRoZSBjdXJyZW50IGxlZGdlci4AAAAAAAAQU2lnbmF0dXJlRXhwaXJlZAAAA/IAAAA4VGhlIGNvbmZpZ3VyZWQgcHJvdmlkZXItc2lnbmF0dXJlIHRocmVzaG9sZCB3YXMgbm90IG1ldC4AAAAXUHJvdmlkZXJUaHJlc2hvbGROb3RNZXQAAAAD8wAAACtUaGUgcHJvdmlkZXIgYWNjb3VudCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuAAAAABlQcm92aWRlckFscmVhZHlSZWdpc3RlcmVkAAAAAAAD9AAAACdUaGUgcHJvdmlkZXIgYWNjb3VudCBpcyBub3QgcmVnaXN0ZXJlZC4AAAAAFVByb3ZpZGVyTm90UmVnaXN0ZXJlZAAAAAAAA/UAAABMQSBVVFhPIGNyZWF0aW9uIGF0dGVtcHRlZCB0byB3cml0ZSBhbiBvdXRwdXQgaWRlbnRpZmllciB0aGF0IGFscmVhZHkgZXhpc3RzLgAAABFVdHhvQWxyZWFkeUV4aXN0cwAAAAAAB9AAAABBQSBVVFhPIHNwZW5kIHJlZmVyZW5jZWQgYW4gb3V0cHV0IGlkZW50aWZpZXIgdGhhdCBkb2VzIG5vdCBleGlzdC4AAAAAAAAQVXR4b0RvZXNOb3RFeGlzdAAAB9EAAAA+QSBVVFhPIHNwZW5kIHJlZmVyZW5jZWQgYW4gb3V0cHV0IHRoYXQgaGFzIGFscmVhZHkgYmVlbiBzcGVudC4AAAAAABBVdHhvQWxyZWFkeVNwZW50AAAH0gAAAF9UaGUgdHJhbnNhY3Rpb24gYnVuZGxlIGRvZXMgbm90IGJhbGFuY2UgaXRzIGlucHV0cywgZGVwb3NpdHMsIGNyZWF0ZXMsIHNwZW5kcywgYW5kIHdpdGhkcmF3YWxzLgAAAAAQVW5iYWxhbmNlZEJ1bmRsZQAAB9MAAAAxQSBVVFhPIGNyZWF0aW9uIGFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLgAAAAAAABNJbnZhbGlkQ3JlYXRlQW1vdW50AAAAB9QAAABCVGhlIHNhbWUgVVRYTyBpZGVudGlmaWVyIGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIGNyZWF0ZSBzZXQuAAAAAAASUmVwZWF0ZWRDcmVhdGVVdHhvAAAAAAfVAAAAQVRoZSBzYW1lIFVUWE8gaWRlbnRpZmllciBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzcGVuZCBzZXQuAAAAAAAAEVJlcGVhdGVkU3BlbmRVdHhvAAAAAAAH1gAAAC9BIHJlcXVlc3RlZCBVVFhPIGNvdWxkIG5vdCBiZSBmb3VuZCBpbiBzdG9yYWdlLgAAAAAMVXR4b05vdEZvdW5kAAAH1wAAAF5UaGUgVVRYTyBtb2R1bGUgY2Fubm90IGF1dGhvcml6ZSB0cmFuc2FjdGlvbnMgYmVjYXVzZSBubyBhdXRob3JpemF0aW9uIGNvbnRyYWN0IGlzIGNvbmZpZ3VyZWQuAAAAAAASQXV0aENvbnRyYWN0Tm90U2V0AAAAAAfYAAAASEEgVVRYTyBtZXRhZGF0YSByZWNvcmQgcG9pbnRzIHRvIGEgc2xvdCBvdXRzaWRlIGl0cyBkcmF3ZXIgYml0bWFwIHJhbmdlLgAAABFJbnZhbGlkRHJhd2VyU2xvdAAAAAAAB9kAAAA8VGhlIHNhbWUgYWNjb3VudCBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBkZXBvc2l0IGxpc3QuAAAAGVJlcGVhdGVkQWNjb3VudEZvckRlcG9zaXQAAAAAAAu4AAAAPVRoZSBzYW1lIGFjY291bnQgYXBwZWFycyBtb3JlIHRoYW4gb25jZSBpbiB0aGUgd2l0aGRyYXcgbGlzdC4AAAAAAAAaUmVwZWF0ZWRBY2NvdW50Rm9yV2l0aGRyYXcAAAAAC7kAAABcQSBzaW5nbGUgYWNjb3VudCBoYXMgY29uZmxpY3RpbmcgZGVwb3NpdCwgd2l0aGRyYXcsIG9yIGNvbmRpdGlvbiByZXF1aXJlbWVudHMgaW4gdGhlIGJ1bmRsZS4AAAAfQ29uZmxpY3RpbmdDb25kaXRpb25zRm9yQWNjb3VudAAAAAu6AAAAQ0FuIGFtb3VudCBjYWxjdWxhdGlvbiBleGNlZWRlZCB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgaW50ZWdlciB2YWx1ZS4AAAAADkFtb3VudE92ZXJmbG93AAAAAAu7AAAARVRoZSBidW5kbGUgY29udGFpbnMgY29uZGl0aW9ucyB0aGF0IGNhbm5vdCBhbGwgYmUgc2F0aXNmaWVkIHRvZ2V0aGVyLgAAAAAAAB5CdW5kbGVIYXNDb25mbGljdGluZ0NvbmRpdGlvbnMAAAAAC7wAAABFQW4gYW1vdW50IGNhbGN1bGF0aW9uIHdlbnQgYmVsb3cgdGhlIG1pbmltdW0gc3VwcG9ydGVkIGludGVnZXIgdmFsdWUuAAAAAAAAD0Ftb3VudFVuZGVyZmxvdwAAAAu9AAAAm0FuIGV4ZWN1dGVkIGNyZWF0ZS93aXRoZHJhdyBlZmZlY3QgaXMgbm90IGNvdmVyZWQgYnkgYW4gb3duZXItc2lnbmVkIGNvbmRpdGlvbiwKb3IgYW4gb3duZXItc2lnbmVkIGNyZWF0ZS93aXRoZHJhdyBjb25kaXRpb24gaXMgbm90IGV4ZWN1dGVkIGJ5IHRoZSBidW5kbGUuAAAAABVVbmF1dGhvcml6ZWRPcGVyYXRpb24AAAAAAAu+AAAAN0EgZGVwb3NpdCBvciB3aXRoZHJhdyBhbW91bnQgd2FzIG5vdCBzdHJpY3RseSBwb3NpdGl2ZS4AAAAAFUludmFsaWRFeHRlcm5hbEFtb3VudAAAAAAAC78AAAA/YHRyYW5zYWN0YCB3YXMgcmUtZW50ZXJlZCB3aGlsZSBhIGNhbGwgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MuAAAAAA1SZWVudHJhbnRDYWxsAAAAAAALwAAAAE1BbiBhZGRyZXNzIHBheWxvYWQgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIEVkMjU1MTkgYWNjb3VudCBhZGRyZXNzIGJ1dCB3YXMgbm90LgAAAAAAABhOb3RFZDI1NTE5QWNjb3VudEFkZHJlc3MAAA+gAAAAOVRoZSBhZGRyZXNzIHBheWxvYWQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgaGVscGVyLgAAAAAAABlVbnN1cHBvcnRlZEFkZHJlc3NQYXlsb2FkAAAAAAAPoQ==", "AAAAAgAAAAAAAAAAAAAACVNpZ25hdHVyZQAAAAAAAAQAAAABAAAAAAAAAARQMjU2AAAAAQAAA+4AAABAAAAAAQAAAAAAAAAHRWQyNTUxOQAAAAABAAAD7gAAAEAAAAABAAAAAAAAAAlTZWNwMjU2azEAAAAAAAABAAAD7gAAAEEAAAABAAAAAAAAAAlCTFMxMl8zODEAAAAAAAABAAAD7gAAAGA=", + "AAAAAgAAAAAAAAAAAAAACVNpZ25lcktleQAAAAAAAAMAAAABAAAAAAAAAARQMjU2AAAAAQAAA+4AAABBAAAAAQAAAAAAAAAHRWQyNTUxOQAAAAABAAAD7gAAACAAAAABAAAAAAAAAAhQcm92aWRlcgAAAAEAAAPuAAAAIA==", + "AAAAAQAAAAAAAAAAAAAAClNpZ25hdHVyZXMAAAAAAAEAAAAAAAAAATAAAAAAAAPsAAAH0AAAAAlTaWduZXJLZXkAAAAAAAPtAAAAAgAAB9AAAAAJU2lnbmF0dXJlAAAAAAAABA==", "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gYW4gb3duZXJzaGlwIHRyYW5zZmVyIGlzIGluaXRpYXRlZC4AAAAAAAAAAAART3duZXJzaGlwVHJhbnNmZXIAAAAAAAABAAAAEm93bmVyc2hpcF90cmFuc2ZlcgAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAABFsaXZlX3VudGlsX2xlZGdlcgAAAAAAAAQAAAAAAAAAAg==", "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gYW4gb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4AAAAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDb21wbGV0ZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NvbXBsZXRlZAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==", ]); diff --git a/src/channel-auth/types.ts b/src/channel-auth/types.ts index 61af71b..dfaac32 100644 --- a/src/channel-auth/types.ts +++ b/src/channel-auth/types.ts @@ -13,6 +13,8 @@ export type SetAdminInput = { new_admin: Ed25519PublicKey | ContractId }; export type UpgradeInput = { wasm_hash: string }; export type AddProviderInput = { provider: Ed25519PublicKey | ContractId }; export type RemoveProviderInput = { provider: Ed25519PublicKey | ContractId }; +export type EnableChannelInput = { channel: ContractId; asset: ContractId }; +export type DisableChannelInput = { channel: ContractId; asset: ContractId }; export type None = object; @@ -48,4 +50,12 @@ export type AuthInvoke = { input: RemoveProviderInput; output: None; }; + [AuthInvokeMethods.enable_channel]: { + input: EnableChannelInput; + output: None; + }; + [AuthInvokeMethods.disable_channel]: { + input: DisableChannelInput; + output: None; + }; }; diff --git a/test/contracts/channel_auth_contract.wasm b/test/contracts/channel_auth_contract.wasm index 4ef1cc982c053e733a19f76a31e74d949df59436..6e9637fe6797e58623543e1d7582a4c665cd42a7 100644 GIT binary patch literal 18836 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 delta 6704 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 diff --git a/test/contracts/privacy_channel.wasm b/test/contracts/privacy_channel.wasm index 3ad0107d151794f960a7a5661c063031e14b6462..d70e2c49a7fcc9232739d56a2db6761baff26977 100644 GIT binary patch literal 21783 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 delta 8197 zcmbtZ3v^t?d7ioV?n8TbwIfTmUY2$5$})QRv3l5&{6M;E%ZB2IgnuN5a{>M+})Lh z+tbs^$9L}h^Upv3d;a_HH}2=-f6Wh6rLEogev=QHuh?y6++4Fdz=NT1QKZPS>`*kO{)*$_mXs z@3@3r9KC$Um0Jha4{jRVGBm;lViTv^Vbj6wAjXD*+b<(78{eWH_<`@nakE(Y={7{dcGddG**plSNZgC^Mx?J2SuMgIx-!Lqm zHg_9v!8(QHW!a?(Q*Urg#}MxjzId0OskCe0zh(3oJ&xI6Fppo>8)J^yXjZrZ8iX69 zg_&+h;qXS2B`ktCiSUCdXMf7tmnaf9DPsKW7^`(Gr$~I2<_RP98Q+^a!un&J*^cQY zN1d?j3pJ#H0zPggqz)5HAz0B_6XPDoYv{5aZrFoBU@7F8I};(`UZW0hu06O0+!;>D zKU&eU5|EyTxf(WrHoYrWD z69I8Rft_oiKR}opN-^l#a!sShgtnD7gO1S;`cSm^7NLV{djGb14?EBw{^I>H%dwOy zt+VkOPJP##u4w(i5X_ z)jvwluABZ31Sb?hD>|H%T!fIZ>-b@LkKJ6F-%c|6+uyQVz)V?`a5|$CaCiY{XOwX6 zQ#dc?am=%n_Ix^#7~w2d&n>aK^x*9~=U=~_^m4c(d^A5ECb>zzo4 z={U>@cbJF;CqTiYVu+&5TmTI)$L=s2Fcfu|6(ErFA@G?GG5aj!C^E48bIhITJDI~^ zU1egg!8cnjOzi=ALvfRAjn74j954Q>fZ8Ivi+eGDytHN69T`~23ySBIIOH`k1fqk? z6c#@v7&!p}dC9O0WKLvH85YTOin~^7 zFNHC81KLC3caE7$J=&9k1y4fGLXtEoYgH_dk+C3SXf&mgPY4q?M1kfY>M`+5@iT1@ z$`_iZ^1EZCk$Z(QnE{VSzC{Ki>yq69QDil8szf+<{Da6HfONXZtc_;UjZCy> zC~r?PBumYC$3;k)cE_ ze1nS+B=;>sW(`7ILdh8{l=tO;mVGuvB4bpUP0;f5eibZLa7KuBK zG;WBiX(|rO)q#clW;wHT&P6ZzyA>jCMN<5Sebmcr*-Y$7X^UQxFMAy)g((Rf1=NP0qM3Q(# z_EnUnUnRue7!sIPllUhB;KrrYCSFry0z#96D>;EPDKk4kr0(1nHw0VYMhRmua@CFU zn2>j9UlyvOD<83&yY-oGSrF*b)`BlPflG6HLrzH01&y1}Lp59NZDnNsHz@k?3} z|01VX&Y1R&f+4PSYEVUm7?*vOHSNCM)U|q-%} z)cMn?%VPx*4DoAOKCQn28YDOUE^X_xX$Iu)X@)`W{ye$a(#-BfeUvXPMg9th z*hJ}1sAntW6Von6PQ7|*nY_O&!C#R_%WBig01hrn4m9m3Ikjs`<=uOt8_!|4YMt#< z>Ytv|8L@&agd=rHcb8g*@ko7K*JNT`2?7}EWqIk;DeEU{@=#85%pj-e-M&D&-n4mGQrQhO^FJh@E zSM>;sLr~Nr`zr)>p+r<8hnF^;@utS2ga}lJ9u49x4bm7s>&oTB=V~u12Dy%b#j2NJXW9N}I$T zv*ov!EQ$N+5Q=%8pz`~b)u$a*+*2{EYGj=pU4Bx!uz#^YzE@dS`+6ozk%E{x)muik zRV^%eif}v&TFCHG&w@+uu3A;96&VtG46E`kRz1LR%WZG@$2NG8S{crYLR$KMyFR!{S6_C>*?u|khWvNKntf6y`wedG3M|0k|<*o z>A(LR>8x~TR4UTRAn=Lw=`~fSARPqh%{7{IBFF0gL~lO0xNJuCDM*Du>h2kHTU0%w z6ojbL)in2|hSGFJO%8CtNJLZQ;PTTMUk0yN)y^-?p+h}d$Kq-EZ0#3AzE0#!lqA2E zUve7wtMX>&G&~=3x@?t(RRmopKXy9#o3cMq&fk(N-3oq#9C7R2>$HX%&5V(-g_@1) zFP-!JeGj;;dS7$i<4?d7SHR^FMvdl&rnrHKqzuF=$^qK}9qA;Jde@RkyHskLw9Cey z%AnZ~@);GrOxArgaax)Z0xCIQbEGkmGekihSuIF|am-NP&D@C*cfTaAQ zaFdgM`y5ynp&&;q=mTQRD~i~9d;0o7YoQgH*}mz*suiGfCmJe{ezZAxVJ=-3 zT>se|A#(i{D5O+ezGnET619l$0f!0#sc@SxSIRwqw(k*@xf@R%LPBcR#9Q)#+0##U zwdg5a?f6Ie9u8V4*U1lZgwH#od8IV(d&e^qxktl`!x<2G6s3u1u92d>`cy|9qod?C zb6Qd4JTa%E^&ujsyxzZcn62vpX#5sht0E^r3ei11@~OJH?fJ|&Hn*ZLt9Szraq*#< zV1CaJv#f!31v{G-jv!&C*tw3~SB>-$aO{0(194p#P7?pMxyjN~2rjGV_3}sM;Jjp! zY6Ie+cjfK#y6xW+pSS}!YQ zg?c%!z_VlcY{vTC$*LjKnFvN3GU_*|M84>XqZARkMTKoAZBSJPwn$>K1D6$C^JIef zhLbZ|rX_wz7}#Fy#3}!V#z{kd5rS+>3FBy;E3as&&L@q6Tj(V5qn2}F*LZ7H?E6H_ zcbTJdL2Fm+MS|q=wcOR3JSCN9T079{{h)QY+V>3aCRM70b@l4vmJnZ&JKM;v9cD&; zy=`{U1ADTF-mrL1KHt{Kk4Uq9w(;Q}+0tId-GPzplbXm82Ssn8f1EJ3B_iHu^3w%zGzuaQ zDz{YaZShS_p9=U1+!1epK$P1I1Ox6qxvXPxxvz6AJSLB%#A>iN-CnnZ?_#=Hg*_u&YfRBwbY5cNnH_mC1Ly=C+~na&o6kn|Sg^h2P}TEur^I z>eJK+Gjd(9Q#6KD#b=|K@Vh#y|3i;lzYL_P*B`*|0j`zr`1su}^mabqwxs@6?pwvc zFD=1Ey)%EOf^%X+5mtzz%genJYAJ%K+`4EMeyq85QFGb*q=KkP%O9y_8_Tb#M!jd5_<$hflR1EDh$lF$eJF1{ zeKr3;zJB^b{-G@I?yyw^;~dKP7j$1-@@uu*P|ZjBPCYD-bRX>c&YmoyIoJ9@ACe*J z(5waqef{C~7g`=uwdK5TDSRkX-q%xK`jiqM8}i@eZ_DF7^Ym>4@$jpOtny|Q{XpTN zc9EV}iG=r;-lc7SL;TRsI_OEzQIHIuo%R~ElTj5T9~eCzU_#$qrjnyJ)h^Fj=0QWZ zE?dd>$bVhd67xSrYe6Ap$(H4%{BPw&z193)c~$SK@ETC+)1Y zcC2^kyp}hQe_VgjusEoGEd0{QHjjQqT&sRUl(Ci7l`a!3$QU~fV+iA1i~)>oa_P$M zIivpS7{&;oU&d%-9LHFU@!WIHU$b$TvBxnto6k@Hps23+Rs>X#g>t6efTkRZ!#Vii@bI>g z?c3=`Hg#xjpPak;45PDCUb%WRZ6x&<5z?btpx xGPE-(Yx}p$pR94@?S1FVL|>=8cg=M9?|ofT_IJx)t~o